2016-12-05 9 views
0

Das ist, was ich habe, so weit:Was fehlt mir bei dieser umgekehrten Reihenfolge?

import java.util.Scanner; 

    public class ReverseNumber { 

     public static void main(String args[]) 
     { 
     int n, reverse = 0; 

     System.out.println("Enter an integer: "); 
     Scanner in = new Scanner(System.in); 
     n = in.nextInt(); 

     while(n != 0) 
     { 
      reverse = reverse * 10; 
      reverse = reverse + n%10; 
      n = n/10; 
     } 

     System.out.println(" in reverse order is "+reverse); 
     } 
    } 

Wenn die Benutzereingabe 123 sein sollte, dann, was es ausdruckt, so wie es jetzt ist, ist dies:

eine ganze Zahl eingeben:

in umgekehrter Reihenfolge 321

ist was ich wissen muß, was in setzen, um es 123 vor drucken ‚in umgekehrter Reihenfolge ist 321‘ Aussage.

+0

was Sie Code ist Variable n? –

Antwort

1

Wie Sie den Wert des Eingangs ändern, müssen Sie es in einer anderen Variablen speichern und die Sys-Anweisung ändern sich die tatsächlichen Mehrwert zu schaffen, zum Beispiel:

public static void main(String[] args) throws FileNotFoundException { 

    int input, n, reverse = 0; 

    System.out.println("Enter an integer: "); 
    Scanner in = new Scanner(System.in); 
    n = in.nextInt(); 
    input = n; 
    while(n != 0) 
    { 
     reverse = reverse * 10; 
     reverse = reverse + n%10; 
     n = n/10; 
    } 

    System.out.println(input + " in reverse order is "+reverse); 
} 
+0

Danke! Das war sehr hilfreich :) – KrystynES

1

Ich werde es auf diese Weise tun

public static void main(String[] args) { 
       int n, reverse = 0; 
       System.out.println("Enter an integer: "); 
       Scanner in = new Scanner(System.in); 
       n = in.nextInt(); 
       int number = n; 
       System.out.println(n); 
       while(n != 0) 
       { 
        reverse = reverse * 10; 
        reverse = reverse + n%10; 
        n = n/10; 
       } 
       System.out.println(number+" in reverse order is "+reverse); 
     } 
1

Verwenden Sie zwei verschiedene Zeilen, wenn Sie mehrere Variablen gleichzeitig initialisieren möchten.

Da Sie n ändern, erstellen Sie eine Kopie, die Sie verwenden können.

import java.util.Scanner; 

class Main { 
    public static void main(String args[]) 
    { 
    int n, reverse, initialNumber; 
    n = reverse = initialNumber = 0; 

    System.out.print("Enter an integer:"); 
    Scanner in = new Scanner(System.in); 
    n = in.nextInt(); 
    initialNumber = n; 

    while(n != 0) 
    { 
     reverse = reverse * 10; 
     reverse = reverse + n%10; 
     n = n/10; 
    } 

    System.out.println(initialNumber + " in reverse order is " + reverse); 
    } 
} 

Probieren Sie es here!

Verwandte Themen