无法获取结果

时间:2014-06-26 18:56:41

标签: java methods

我尝试了一个简单的程序来检查两个数字是否相等。我定义了两种方法。第一个得到数字,第二个得到平等。我的第一种方法是很好地获取数字,但另一种方法是什么都没有产生。就像我输入55和55一样,我应该得到Numbers are equal而不是什么都没有。请帮忙!

import java.util.Scanner;
public class Check {

int first;
int second;
String C;

public void get(){
    Scanner S = new Scanner(System.in);
    System.out.println("Enter the first number : ");
    first = S.nextInt();

    Scanner P  = new Scanner(System.in);
    System.out.println("Enter the second number : ");
    second = P.nextInt();
}



public String check(){

    if (first>second)
    {
        C = "First number is greater";
    }

    if (first<second)
    {
        C = "Second number is greater";
    }

    if (first==second)
    {
        C = "Numbers are equal";
    }
    return C;
}

public static void main(String[] args) {

    Check obj = new Check();
    obj.get();
    obj.check();

}

}

3 个答案:

答案 0 :(得分:0)

您正在丢弃返回值。用它做点什么

String value = obj.check();

也许打印

System.out.println(value);

答案 1 :(得分:0)

您将返回String值,但由于main()方法中没有print语句,因此该值未被使用!

obj.check()的输出存储在某个String对象中,并在main方法中显示它。它会正常工作!

喜欢: -

public static void main(String[] args) {

Check obj = new Check();
obj.get();
String s=obj.check();
System.out.println(s);
}

答案 2 :(得分:0)

您应该使用System.out.println(obj.check());而不仅仅是obj.check();。因为这样,您不会使用检查方法返回的内容。

偏离主题:在get()方法中,您不必定义两个不同的扫描仪对象。你可以使用

public void get(){
    Scanner S = new Scanner(System.in);
    System.out.println("Enter the first number : ");
    first = S.nextInt();

    System.out.println("Enter the second number : ");
    second = S.nextInt();
}

否则只是浪费记忆。