In einigen Code muss ich einige Zahlen in einem Stapel schieben und sie später drucken. Also habe ich versucht, diese:Konvertieren von Ganzzahl in Int in Java als Rückgabetyp des Stapels
package bf;
import java.util.Stack;
public class BF {
public static void main(String[] args) {
Stack<Integer> stack = null ;
stack.push(1);
int a = Integer.parseInt("" + stack.pop());
System.out.println(a);
}
}
Jedes Mal, wenn ich versuche, dies zu tun, erhalte ich diese Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at bf.BF.main(BF.java:12)
C:\Users\user\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
Meine Fragen:
Gibt es eine Möglichkeit zu konvertieren
Integer
bisint
? Wie?Ich muss einen Stapel verwenden. Später muss ich Pop und speichern Sie es auf eine
int
Variable, was kann ich sonst noch tun? Gibt es keinen Weg (ich muss selbst einen Stack erstellen)?
Es gab einige Fragen mit dem gleichen/fast dem gleichen Titel in Stack-Überlauf, aber ich konnte keine Antwort finden, die in meinem Fall gearbeitet.
Ein 'Integer' ist im Grunde eine' int', und in den meisten Fällen (zum Beispiel die, die Sie stoßen) Sie sie austauschbar verwendet werden können. Suchen Sie nach Autoboxen. – Jashaszun
Sie müssen Ihren 'Stack' initialisieren, bevor Sie ihn verwenden (' stack = new Stack <>(); ') ... –
@Jashaszun int a = Ganzzahl.parseInt (" "+ stack.pop()); können Sie diese Zeile zum Speichern für Int Zweck bitte korrigieren? – 000