Вы сканирование строк, а затем сравнить его ячейки памяти, чтобы увидеть, какой из них больше ...
Что вам нужно сделать, это, чтобы сканировать номера не строки, а он будет работать:
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:
Вы все еще можете использовать строки, если вы хотите, но вы должны создать Integer из его:
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 из него. Если это не допустимое целое число, исключение будет выбрано здесь, поэтому будьте осторожны с этим. Кроме того, его unboxed для int, я бы порекомендовал вам прочитать об этом больше.
вы сравниваете 'String', в то время как вы должны сравнивать' int' здесь. – SomeJavaGuy
Do 'int x; int y' вместо 'String x; String y; 'и вместо' in.nextLine() 'do' Integer.parseInt (in.nextLine()) '. – Gendarme
Я действительно вижу, что код даже не компилируется с соответствующим сообщением об ошибке. –