public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i=scan.nextInt();
// double d=scan.nextDouble();
// Write your code here.
Double d = 0.0;
try {
d = Double.parseDouble(scan.nextLine());
} catch (NumberFormatException e) {
e.printStackTrace();
}
String s=scan.nextLine();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);
}
-6
A
Antwort
0
Es ist, weil Wenn Sie eine Nummer eingeben und die Eingabetaste drücken, verwendet scan.nextInt()
nur die eingegebene Nummer, nicht das "Ende der Zeile". Wenn scan.nextLine()
ausgeführt wird, verbraucht es das "Ende der Zeile" noch im Puffer von der ersten Eingabe, die Sie während der Ausführung von scan.nextInt()
bereitgestellt haben.
Verwenden Sie stattdessen scan.nextLine()
unmittelbar nach scan.nextInt()
.
in Ihrem aktuellen Szenario erhalten Sie die Ausnahme erhalten,
java.lang.NumberFormatException: empty String
Ihr modifizierten Code wie sein wird,
public static void main(String args[])
{
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
scan.nextLine();
// double d=scan.nextDouble();
// Write your code here.
Double d = 0.0;
try {
d = Double.parseDouble(scan.nextLine());
} catch (NumberFormatException e) {
e.printStackTrace();
}
String s = scan.nextLine();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);
}
0
Ihr Code kann wie folgt geändert werden (denken Sie daran, dass es immer eine gute Idee, den Scanner zu schließen):
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
int i = scan.nextInt();
double d = scan.nextDouble();
System.out.println("String: " + s);
System.out.println("Double: " + d);
System.out.println("Int: " + i);
scan.close();
}
Verwandte Themen
- 1. versuchen und fangen nicht funktioniert
- 2. Versuchen/Fangen und Threading
- 3. Ich versuchte mit Google Ananlytics in meiner Django App und es hat nicht funktioniert
- 4. scala versuchen/fangen nicht einige Ausnahmen zu fangen
- 5. Versuchen, Javascript mit Prepos zu verketten, aber es funktioniert nicht?
- 6. Java versuchen und fangen IOException Problem
- 7. Versuchen Sie, außer nicht Fehler zu fangen
- 8. scala versuchen/fangen nicht Ausnahme fangen
- 9. versuchen Sie fangen für Scanner
- 10. Wie funktioniert `versuchen/fangen` Arbeit in Details
- 11. Versuchen und Fangen mit NSURL (fileURLWithPath)
- 12. Warum `EntityManager` funktioniert, aber EntityManagerFactory hat nicht für mich funktioniert?
- 13. SQLServer versuchen fangen Leistung
- 14. Etikett funktioniert nicht, ich versuchte mein Bestes
- 15. Versuchen/fangen mit Jasmin
- 16. versuchen, MySQL von Java zugreifen, aber es funktioniert nicht
- 17. Versuchen/fangen in Java
- 18. Java Scanner versuchen fangen mehrere Datentypen
- 19. Wie man versucht, eine Funktion zu versuchen und zu fangen?
- 20. Versuchte 'a +' zur gleichen Zeit zu lesen und hängen aber nicht funktioniert
- 21. versuchen fangen im Gange
- 22. Versuchen Sie, Schluck auf Mac laufen, aber es funktioniert nicht
- 23. Versuchen fangen wieder aufzunehmen
- 24. Rails, versuchen, einen bestimmten Hash zu erstellen, aber es funktioniert nicht so, wie es sollte
- 25. versuchen fangen endlich Abschnitt
- 26. Versuchen nicht fangen Ausnahme in DllImport Funktion
- 27. Kann ich versuchen, Ausnahmen in PDO-Transaktionen zu fangen?
- 28. Alternative für mehrere versuchen fangen, um die Ausnahme zu behandeln
- 29. ExpectedException nicht abfangen Ausnahme, aber ich kann es mit Versuch fangen fangen
- 30. C++ Rückgabewert, wenn versuchen und fangen
Es wäre toll, wenn Sie [Code formatieren zuerst] (https://stackoverflow.com/posts/44539167/edit) –
Ich bin neu. Ich weiß nicht, wie man Code formatiert.Sorry – Aditya
Und sagen Sie, was passiert ist, was passiert, was Sie erwartet haben. –