您扫描的字符串,然后你比较它的存储位置,看看哪一个更大?
你需要做的是,扫描数不是字符串,并它将工作:
import java.util.Scanner;
public class Work6{
public static void main (String[] args){
int x;
int y;
Scanner in = new Scanner(System.in);
System.out.println("Number 1: ");
x = in.nextInt();
System.out.println("Number 2: ");
y = in.nextInt();
if (x > y){
System.out.println("Bigger number: " + x);`
}
else if (y > x){
System.out.println("Bigger number: " + y);
}
}
}
你应该阅读更多关于原语和对象以及如何比较它们。
编辑
它也可以更短:
public static void main (String[] args){
int x;
Integer y;
Scanner in = new Scanner(System.in);
System.out.println("Number 1: ");
x = in.nextInt();
System.out.println("Number 2: ");
y = in.nextInt();
System.out.println(x > y ? "Bigger number: " + x :
x == y ? "They are equal" : "Bigger number: " + y);
}
编辑2:
,您仍然可以使用字符串,如果你想要的,但你需要创建整出来的它:
String x;
String y;
Scanner in = new Scanner(System.in);
System.out.println("Number 1: ");
x = in.nextLine();
System.out.println("Number 2: ");
y = in.nextLine();
int xInt = new Integer(x);
int yInt = new Integer(y);
System.out.println(xInt > yInt ? "Bigger number: " + x : x == y ? "They are equal" : "Bigger number: " + y);
这段代码做了什么,它会读取行,然后尝试从中创建Integer。如果它不是一个有效的Integer,则会抛出异常,因此请小心。另外,它的unboxed int,我会建议你阅读更多关于它。
你比较'字符串',而你应该在这里比较'int'。 – SomeJavaGuy
做'int x; int y'而不是'String x; String y;'而不是'in.nextLine()'做'Integer.parseInt(in.nextLine())'。 – Gendarme
我实际上看到代码甚至不会编译相应的错误消息。 –