将布尔方法从另一个类连接到main

时间:2014-02-23 23:22:00

标签: java object methods boolean

这里初学者到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());
}

2 个答案:

答案 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
}