我尝试了一个简单的程序来检查两个数字是否相等。我定义了两种方法。第一个得到数字,第二个得到平等。我的第一种方法是很好地获取数字,但另一种方法是什么都没有产生。就像我输入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();
}
}
答案 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();
}
否则只是浪费记忆。