Я знаю, что это было задано раньше, но не так, как я понял, потому что я тупой.Java Передача переменных, исключая tostring hash
So.
Мне нужно взять некоторые переменные в класс, сравнить их с чем-то, а затем вернуть более высокий из двух. В конечном итоге мне нужно сравнить с общей суммой, но для моей проблемы, я думаю, проблема значительно более фундаментальна. Я не понимаю, как передать переменную BACK в мой основной класс.
import java.io.*;
public class testing123 {
public static void main(String[] args) {
InputStreamReader input = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(input);
Integer a;
Integer b;
Integer numbersCombined;
try {
System.out.println("Please enter a number");
a = Integer.parseInt(reader.readLine());
System.out.println("Please enter a number");
b = Integer.parseInt(reader.readLine());
numbersCombined = (a + b);
testClass Check = new testClass();
System.out.println("Your numbers combined is " +numbersCombined);
System.out.println(Check);
} catch (IOException e){
System.out.println("Error reading from user");
}
}
}
class testClass {
public static Integer testClass (Integer numbersCombined) {
if (numbersCombined > 100) {
numbersCombined = numbersCombined;
}
else {
numbersCombined = 100;
}
System.out.println(numbersCombined);
return numbersCombined;
}
}
Если я удалю возврат, это напечатает числа, объединенные, но это все, что он делает. При возврате на место он не выполняет линию печати над возвратом и сначала печатает исходные номераCombined (что не должно, если вы используете, скажем, 10 и 20, так как это меньше 100), а затем печатает testClass @ 76046e53, а не фактическое значение. Я знаю, что есть способ переопределить его, но ответы, которые я нашел, не работают для меня.
Я знаю, что этот ответ: http://www.google.com/url?q=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F29140402%2Fhow-do-i-print-my-java-object-without-getting-sometype2f92e0f4&sa=D&sntz=1&usg=AFQjCNGIzxlBSH8xIS7hurKe6_Euc7B8RQ
является основной проблемой я сталкивается, но переопределяет перечисленные на самом деле не работает для меня, и я хочу целое число в любом случае, а не строки.
В конце концов, то, что я «действительно», делает серию из четырех чисел от пользователя, а затем используя эту функцию для сравнения того, превышает ли эта серия чисел предыдущий максимум, и если это так, это новый максимум движения вперед, с петлей до тех пор, пока пользователь не будет вводить ряд из 4 чисел, а затем, наконец, распечатает максимум.
Я смог написать это без ЛЮБЫХ функций, всех встроенных, простых, как пирог. Но как только я отправлю сравнение функции, я не понимаю, как отправить ее обратно, и я весь день пытался понять концепцию. ВЕСЬ ДЕНЬ. Поэтому, хотя я знаю, что это будет глупый ответ, это потому, что я глуп, но не потому, что я не пытался (извините, вроде оборонительный. Разочарованный).
В принципе, я хочу отправить два класса (этот пример только один) в класс, сравнить их, изменить ОДИН из них и вернуть его в основной класс. В этом примере я просто пытаюсь отправить ONE-переменную, сравнить ее и отправить ее обратно.
Пробовали ли вы вызов метода в 'testClass'? Он возвращает целое число, которое похоже на то, что вы хотите. –