Lesen Ganzzahlen für einen Stapel von Benutzereingaben
Ich versuche ein Programm erstellen, nimmt die Benutzereingaben aus einem scanner und schiebt Sie auf einen stack und dann off erscheint jedes element und druckt es aus. Hier ist mein code bisher:
import java.util.*;
public class NumberReverse {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter numbers: ");
int number = sc.nextInt();
Stack<Integer> stack = new Stack<Integer>();
stack.push(number);
while (!(stack.isEmpty())) {
System.out.println(stack.pop());
}
}
}
- Bitte versuchen Sie, das problem zu beschreiben und formulieren Sie eine konkrete Frage.
- Bisher habe ich nur die erste Zahl, die eingegeben wurde.
- Sie rufen nur
nextInt()
einmal. Machen Sie ein array mit der Größe der ersten int eingegeben und dann die Iteration über das array Eingabe der eingegeben Nummer instack
. - Es scheint, Sie zu Lesen versucht, in zahlen von der Benutzer. Sie sind mit der Anzahl der Benutzer instanziieren ein array mit der Länge der Zahl, sondern nach der, die Sie nicht Auffüllen der array mit allen ints
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, so etwas wie dieses...
Bevor Sie nur das Lesen, in einer Reihe, einer Zeit, die scheint, wie Sie wollen verwendet werden, für die Größe des array. Nach dieser, Sie ständig schieben Sie die gleiche Zahl auf dem Stapel, weil Sie nie auffordern des Benutzers zur Eingabe einer anderen Nummer.
Den code unten geht einen Schritt weiter als dein code, dass, sobald Sie gelernt haben, die Anzahl der Benutzer ein, und legen Sie Ihre array-Größe, Fragen Sie für eine neue Nummer immer und immer wieder zu füllen das array, bis das array gefüllt ist. Dies kann erreicht werden, indem der Benutzer aufgefordert wird, einen Wert eingeben, der immer und immer wieder in der for-Schleife.
Ich bin nicht wirklich sicher, warum genau müssen Sie ein array, das zu tun, was Sie wollen zu tun, obwohl, in Erwägung ziehen, das array und nutzt nur die erste eingegebene Nummer als Ihre Grenzen für die for-Schleife anstatt der array-Größe. Der array-Datenstruktur ist wirklich nur eine Verschwendung von Speicherplatz wie die einzige Zeit, die Sie jemals verwenden, es ist mit seiner Länge einen Haltepunkt in der for-Schleife
Basiert auf den Kommentar unten, sollten Sie versuchen, so etwas wie den folgenden code ein. Sie sind nur Ausdruck, der eine Zahl für den gleichen Gründen, die ich oben aufgeführt sind...
Haben Sie Durchlaufen alle zahlen, die durch den Benutzer eingegeben werden, und schieben Sie Sie auf den Stapel: