这里初学者到Java。我一直在研究如何做到这一点,但我想我正在研究错误的事情.. 我的程序输入数字并计算用户输入的内容。我想出了如何将一个不同的类(计算所有内容的类)连接到主类(将只输出所有内容的类)。 我遇到的困难是如何将boolean而不是void方法连接到主类。
public class Driver
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in); //forgot to add scanner
ExampleClass ex = new ExampleClass();
System.out.println("Enter numbers <enter -1 to stop>");
number = in.nextInt(); //user inputs a number
boolean inputData = true; //researched about this, but it doesn't work
ex.inputData(); //doesn't work either
}
}
第二课:
public class ExampleClass
{
int numberOfThings = 0;
int number = 0;
int sum = 0;
public ExampleClass()
{
// constructor
}
public boolean inputData(int number)
{
if(number >= 0)
{
numberOfThings++;
}
else if (number <= 0)
{
System.out.println("Out of range");
return false;
}
return true;
}
}
我很确定我的if语句需要工作,我唯一的问题是如何将布尔方法连接到我的主类(Driver)?我正在尝试在开始我的真实项目之前拼凑出如何连接方法等。
boolean inputData = true;
ex.inputData();
不起作用。
我刚刚提供了一个例子,我的编码还没有完成。
更新:这有效,发布此内容以防任何人搜索需要此内容。
boolean inputData = true;
while (inputData)
{
Scanner in = new Scanner(System.in);
number = in.nextInt();
inputData = ex.inputData(in.nextInt());
}
答案 0 :(得分:2)
你几乎拥有它,而不是:
boolean inputData = true;
ex.inputData();
DO
Scanner in = new Scanner(System.in);
boolean inputData = ex.inputData(in.nextInt());
答案 1 :(得分:1)
可能循环直到输入为假?我真的不知道你想要什么:
System.out.println("Enter numbers <enter -1 to stop>");
ExampleClass ex = new ExampleClass();
boolean inputData = true;
while (inputData) { // loop until it's false to keep gaining numbers
Scanner input = new Scanner(System.in); // to get input
inputData = ex.inputData(input.nextInt()); // equals the return of inputData
}