您掃描的字符串,然後你比較它的存儲位置,看看哪一個更大?
你需要做的是,掃描數不是字符串,並它將工作:
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
我實際上看到代碼甚至不會編譯相應的錯誤消息。 –