【发布时间】:2016-11-02 04:32:32
【问题描述】:
我知道以前有人问过这个问题,但不是我理解的方式,因为我很笨。
所以。
我需要将一些变量放入一个类中,将它们与某物进行比较,然后返回两者中较高的值。从长远来看,我需要与运行总数进行比较,但对于我的问题,我认为这个问题更为根本。我不明白如何将变量 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;
}
}
如果我删除返回,这将打印 numbersCombined,但仅此而已。在 return 到位后,它不会执行 return 上方的打印行,而是首先打印原始 numbersCombined(如果你使用 10 和 20,它不应该这样做,因为它小于 100),然后打印testClass@76046e53 而不是实际值。我知道有一种方法可以覆盖它,但我找到的答案对我不起作用。
是我遇到的基本问题,但列出的覆盖对我来说并不真正有效,无论如何我想要整数,而不是字符串。
最后,我“真正”做的是从用户那里获取一系列 4 个数字,然后使用这个函数来比较这一系列数字是否高于之前的最大值,如果是,那就是新的最大值向前移动,循环直到用户完成输入 4 个数字的系列,然后最后打印最大值。
我能够在没有任何函数的情况下编写这个,所有函数都是内联的,像馅饼一样简单。但是一旦我将比较发送给一个函数,我不明白如何将它发送回来,我花了一整天的时间试图理解这个概念。一整天。所以,虽然我知道这将是一个愚蠢的答案,但那是因为我很愚蠢,而不是因为我没有尝试(抱歉,有点防御。沮丧)。
基本上,我想将两个(这个例子只是一个)变量发送到一个类,比较它们,更改其中一个,然后将其返回给主类。在这个例子中,我只是想发送一个变量,比较它,然后把它发回去。
【问题讨论】:
-
您是否尝试在
testClass中调用您的方法?它确实返回一个整数,这似乎是你想要的。
标签: java class variables integer