あなたは文字列をスキャンすると、あなたが大きくなっている1を参照し、そのメモリ位置を比較...
は数字ではない文字列をスキャンすること、である、とそれは動作します:
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);
}
}
}
プリミティブとオブジェクトとそれらを比較する方法の詳細を読む必要があります。
EDIT
また、短くすることができる。
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);
}
はEDIT 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を作成しようとします。有効な整数でなければ、ここで例外がスローされるので、これに注意してください。また、intへのunboxed、私はそれについてもっと読むことをお勧めします。 intに
あなたは 'String'を比較しますが、ここでは' int'を比較してください。 – SomeJavaGuy
Do 'int x; 'String xの代わりにint y'を指定します。文字列y; 'と' in.nextLine() 'の代わりに' 'Integer.parseInt(in.nextLine())'を実行します。 – Gendarme
実際には、コードはそれぞれのエラーメッセージでコンパイルされないことが実際に分かります。 –