2016-11-22 4 views
-4

Ich habe diese Aufgabe muss ich tun .. und ich weiß nicht, wie Sie das Problem beheben, so dass mein Programm funktioniert.Ich weiß nicht, wie ich das beheben kann

Grundsätzlich muss ich ein Programm schreiben, das nach zwei Zahlen fragt und dann sagt mir, welches größer ist. Kannst du mir bitte einfach sagen, was mache ich falsch?

Danke, Eva

+4

vergleichen Sie 'String's, während Sie hier' int' vergleichen sollten. – SomeJavaGuy

+2

Do 'int x; int y 'anstelle von' String x; String y; 'und anstelle von' in.nextLine() 'do' Integer.parseInt (in.nextLine()) '. – Gendarme

+0

Ich sehe tatsächlich, dass der Code nicht einmal mit einer entsprechenden Fehlermeldung kompiliert wird. –

Antwort

0

Änderung x und y int:

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(); 
    in.nextLine(); 
    System.out.println("Number 2: "); 
    y = in.nextInt(); 
    in.nextLine(); 

if (x > y){ 
     System.out.println("Bigger number: " + x);` 

    } 
    else if (y > x){ 
     System.out.println("Bigger number: " + y); 
    } 
} 

} 
0

Sie Strings scannen und dann vergleichen Sie ihre Speicherplätze, zu sehen, welche größer ...

ist

Was Sie tun müssen, ist, zu scannen Zahlen nicht Strings und es funktioniert:

Sie sollten mehr über Primitive und Objekte lesen und wie Sie sie vergleichen.

EDIT

Es kann auch kürzer sein:

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:

Sie können immer noch Strings verwenden, wenn Sie wollen, aber Sie müssen Integer erstellen aus es:

 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); 

Was dieser Code tut, liest Zeilen und dann versuchen Sie, Integer daraus zu erstellen. Wenn es keine gültige Ganzzahl ist, wird Exception hier ausgelöst, also sei vorsichtig damit. Auch, es ist unboxed zu int, würde ich Ihnen empfehlen, mehr darüber zu lesen.

0

Verwenden Sie einfach in.nextInt() statt in.nextLine(). Es wird eine int anstelle einer Zeichenfolge zurückgegeben!

Verwandte Themen