java.util.scanner wird übersprungen

fehmelchen

Mitglied
Hallo!

Ich bin relativ neu auf dem Gebiet Java, allerdings nicht ganz so neu beim Programmieren insgesamt. Bisher dachte ich, dass in einer Methode jede Zeile ausgeführt und bearbeitet wird. Ich habe zur Probe einen kleinen Code geschrieben, der zum Schluss die Frage stellt, ob man noch einmal möchte, oder aufhören möchte. Dazu soll ein String eingelesen und ausgewertet werden. Beim ausführen komme ich nicht zur String-Eingabe und das Programm startet einfach wieder neu. Hat jemand eine Idee, woran es liegen könnte? Ich benutze Eclipse Indigo unter Windows 7 in einem 64-Bit System.

Java:
                System.out.println("Möchten Sie das Programm beenden? (ja/nein)");
		beenden = scanner.nextLine();
		if (beenden.equals("ja") || beenden.equals("Ja"))
			schleife++;
 

nrg

Top Contributor
also der Schnipsel ist jetzt imho nicht gerade signifikant. Da wird nur bei Ja oder ja
Code:
schleife
inkrementiert. Post mal mehr Code..
 

fehmelchen

Mitglied
Java:
package uebungsblatt3;

import java.util.Scanner;

public class Rechner {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("Willkommen beim Taschenrechner!\n");
		
		int schleife = 0;
		int zahl1 = 0;
		int zahl2 = 0;
		double zahl3 = 0.0;
		String beenden = "";
		
		
		while (schleife == 0){
		System.out.println("Welche Operation möchten sie durchführen? Bitte die jeweilige Zahl eingeben!\n" +
				"1  |  Addieren\n" +
				"2  |  Subtrahieren\n" +
				"3  |  Multiplizieren\n" +
				"4  |  Dividieren\n" +
				"5  |  Fakultät rechnen\n" +
				"6  |  Potenzieren\n" +
				"7  |  Wurzel ziehen\n");
		
		int eingabe = scanner.nextInt();
		switch (eingabe){
		case 1 : 	System.out.println("Zahl 1: ");
					zahl1 = scanner.nextInt();
					System.out.println("Zahl 2: ");
					zahl2 = scanner.nextInt();
					zahl1 = zahl1 + zahl2;
					System.out.println("Das Ergebnis der Addition lautet: "+ zahl1);break;
		case 2:		System.out.println("Zahl 1: ");
					zahl1 = scanner.nextInt();
					System.out.println("Zahl 2: ");
					zahl2 = scanner.nextInt();
					zahl1 = zahl1 - zahl2;
					System.out.println("Das Ergebnis der Subtraktion lautet: "+ zahl1);break;
		case 3:		System.out.println("Zahl 1: ");
					zahl1 = scanner.nextInt();
					System.out.println("Zahl 2: ");
					zahl2 = scanner.nextInt();
					zahl1 = zahl1 * zahl2;
					System.out.println("Das Ergebnis der Multiplikation lautet: "+ zahl1);break;
		case 4:		System.out.println("Zahl 1: ");
					zahl1 = scanner.nextInt();
					System.out.println("Zahl 2: ");
					zahl2 = scanner.nextInt();
					zahl1 = zahl1 / zahl2;
					System.out.println("Das Ergebnis der Division lautet: "+ zahl1);break;
		case 5:		System.out.println("Zahl: ");
					zahl1 = scanner.nextInt();
					zahl1 = fak(zahl1);
					System.out.println("Das Ergebnis der Fakultät lautet: "+ zahl1);break;
		case 6:		System.out.println("Basis: ");
					zahl1 = scanner.nextInt();
					System.out.println("Potenz: ");
					zahl2 = scanner.nextInt();
					zahl1 = pot(zahl1,zahl2);
					System.out.println("Das Ergebnis der Potenzierung lautet: " + zahl1);break;
		case 7:		System.out.println("Zahl: ");
					zahl3 = scanner.nextInt();
					zahl3 = Math.sqrt(zahl1);
					System.out.println("Das Ergebnis des Wurzelziehen lautet: " + zahl1);break;
		}
		
		System.out.println("Möchten Sie das Programm beenden? (ja/nein)");
		beenden = scanner.nextLine();
		if (beenden.equals("ja") || beenden.equals("Ja"))
			schleife++;
		}
	}

Es geht dabei um ein Übungsblatt aus der aktuellen Vorlseung bei mir. Ein Taschenrechner ... Alle Methoden, die jetzt hier nicht aufgelistet sind (z.B. pot()) funktionieren
 
S

SlaterB

Gast
das Programm startet doch gewiss nicht wieder neu, etwa mit Menü,
sondern es kommt z.B. nach Addition wieder eine Eingabe "Zahl 1: ", oder?

das verwundert dich so sehr, obwohl doch [c] System.out.println("Zahl 1: ");[/c] direkt die erste nächste Codezeile nach der Addition ist?
das ganze switch nicht zu posten ist schon gemein ;)

dein Fehler ist ein fehlendes break; zwischen den cases, in Java wird dann das nächste case auch ausgeführt
 

fehmelchen

Mitglied
Wo genau fehlt das break;? Ich zähle nach jedem case eins. Außerdem wird wie gewünscht die Rechenoperation durchgeführt und danach die Frage gestellt, ob ich das Programm beenden möchte. Allerdings wird dann auf keine Antwort durch den Benutzer gewartet, sondern weiter gemacht
 

Mofi

Bekanntes Mitglied
das Programm startet doch gewiss nicht wieder neu, etwa mit Menü,
sondern es kommt z.B. nach Addition wieder eine Eingabe "Zahl 1: ", oder?

das verwundert dich so sehr, obwohl doch [c] System.out.println("Zahl 1: ");[/c] direkt die erste nächste Codezeile nach der Addition ist?
das ganze switch nicht zu posten ist schon gemein ;)

dein Fehler ist ein fehlendes break; zwischen den cases, in Java wird dann das nächste case auch ausgeführt

Da stehen breaks; allerdings nicht in einer eigenen Zeile und daher schlecht zu sehen.
Mach es mal so:
Java:
        scanner.nextLine();
        System.out.println("Möchten Sie das Programm beenden? (ja/nein)");
        beenden = scanner.nextLine();
        if (beenden.equals("ja") || beenden.equals("Ja"))
            schleife++;
        }

Dadurch wird der Eingabestrom noch geleert. Es kann vorkommen, dass da noch was steht was halt bei
Code:
beenden = scanner.nextLine();
eingelesen wird und das nicht beabsichtigt ist.
 

nrg

Top Contributor
ich würde Eingabeaufforderungen in einer Methode auslagern. Dann kannst du deine Schleife z.B. so aufbauen:

Java:
import java.util.Scanner;

public class Test {
	
	private static Scanner scn = new Scanner(System.in);
	
	public static void main(String[] args) {		
		while (!readString("Möchten Sie das Programm beenden? (ja/nein)").equalsIgnoreCase("ja")) {
			System.out.println("do sth....");
		}
	}
	
	private static String readString(String prompt) {
		System.out.println(prompt);
		return scn.next();
	}
	
	// readInt
}
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Erste Schritte java.util.Scanner: Beliebig langen Text per Paste in Console eingeben ? Java Basics - Anfänger-Themen 14
N java.util.InputMismatchException Fehler Java Scanner Java Basics - Anfänger-Themen 5
M java.util.scanner Fehler Java Basics - Anfänger-Themen 5
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
P Variablen Abfangen von eingaben per java.util.Scanner und weiter Verarbeitung Java Basics - Anfänger-Themen 7
S Compiler-Fehler Scanner java.util NoSuchElementExeption Java Basics - Anfänger-Themen 8
O java.util.Scanner hängt sich auf Java Basics - Anfänger-Themen 5
Luk10 Java.util.Scanner Java Basics - Anfänger-Themen 11
H ArrayList über java.util.Scanner füllen Java Basics - Anfänger-Themen 5
T import java.util.scanner cannot be resolved Java Basics - Anfänger-Themen 19
J Eclipse und printf und import util.java.scanner; Java Basics - Anfänger-Themen 4
T Möchte Charwert 23C° mit java.util.Scanner einlesen macht Pr Java Basics - Anfänger-Themen 2
M java.util.Scanner kann nicht aufgelöst werden - warum nicht? Java Basics - Anfänger-Themen 4
K Keine weitere (java.util.)Scanner Eingabemöglichkeit? Java Basics - Anfänger-Themen 5
A wie implementiere ich java.util.Scanner? Java Basics - Anfänger-Themen 12
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
BATMAN_2008 Jackson adding additional fields to JSON throws java.util.concurrent.CompletionException: Java Basics - Anfänger-Themen 2
R java.util.Set, CASE_INSENSITIVE_ORDER Java Basics - Anfänger-Themen 6
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
C java.util Timer läuft zu langsam? Java Basics - Anfänger-Themen 1
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
A Java.util.Arrays Java Basics - Anfänger-Themen 15
F java.util.ArrayList Java Basics - Anfänger-Themen 3
B java.util.Date noch zeitgemäß? Java Basics - Anfänger-Themen 6
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
Meeresgott OOP Richtig mit java.util.Property umgehen Java Basics - Anfänger-Themen 22
N java.util.Random - Zwei Zahlen mit festgesetzter Wahrscheinlichkeit? Java Basics - Anfänger-Themen 15
A Vererbungshierachie und java.util.Date Java Basics - Anfänger-Themen 31
I google java-diff-util - Patch abspeichern Java Basics - Anfänger-Themen 1
G Interface java.util.Comparator: Wieso muss nur die Methode compare() implementiert werden Java Basics - Anfänger-Themen 2
H Repräsentation von DateTime (Joda) in Java Util Date überführen Java Basics - Anfänger-Themen 3
D java.util.NoSuchElementException: No line found Java Basics - Anfänger-Themen 11
D Lesen aus Datei (java.util.NoSuchElementException) Java Basics - Anfänger-Themen 22
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
B ThreadPoolExecutor - import java.util.concurrent Java Basics - Anfänger-Themen 2
R java.util.Random Java Basics - Anfänger-Themen 8
S Methoden Sortieren: java.util.Arrays.useLegacyMergeSort Java Basics - Anfänger-Themen 4
E Klassen java.util.ArrayList<E> als Generics Java Basics - Anfänger-Themen 16
D java.util.ResourceBundle - exception Java Basics - Anfänger-Themen 4
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
S Unterschied java.util.prefs / java.util.Properties Java Basics - Anfänger-Themen 3
M java.util.ArrayList to java.sql.Array Java Basics - Anfänger-Themen 4
D java.util.Currency Java Basics - Anfänger-Themen 2
T java.util.Date Java Basics - Anfänger-Themen 5
J java.util.format => mit String? Java Basics - Anfänger-Themen 2
N java.util.Random Java Basics - Anfänger-Themen 6
N verständnisfrage java.util.Calendar Java Basics - Anfänger-Themen 4
P ArrayList<E> in package java.util Java Basics - Anfänger-Themen 4
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
K java.util.ConcurrentModificationException problem in der Logik? Quaxli-Tutorial Java Basics - Anfänger-Themen 9
D java.util.Currency.getInstance exception mit brit. Pfund Java Basics - Anfänger-Themen 4
M Kann mir bitte jemand "java.util.ArrayList" erklären? Java Basics - Anfänger-Themen 5
V java.util.Stack Java Basics - Anfänger-Themen 9
J Java.Util.Properties wrapper class (Review Request) Java Basics - Anfänger-Themen 2
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
G DateFormat - Datumsformat java.util.Locale interpretieren Java Basics - Anfänger-Themen 2
? java.util.Properties Wert von key mehrfach vorhanden Java Basics - Anfänger-Themen 13
E java.util.ConcurrentModificationException Problem Java Basics - Anfänger-Themen 5
F java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
Q java.util.loggging neue datei erstellen Java Basics - Anfänger-Themen 3
L Exception in thread "main" java.util.NoSuchElement Java Basics - Anfänger-Themen 4
hedges Würfelwurf mit java.util.Random ohne 0 Java Basics - Anfänger-Themen 6
W Java.util.Map in Bean wandeln Java Basics - Anfänger-Themen 2
M java.util.Timer und geplante Abarbeitung Java Basics - Anfänger-Themen 2
U java.util.Date to java.sql.Date Java Basics - Anfänger-Themen 2
K Wer kann mir java.util.Hastable erklären. Java Basics - Anfänger-Themen 3
K Probleme mit java.util.hashtable Java Basics - Anfänger-Themen 10
K Zipfile erstellen mit java.util.zip.* Java Basics - Anfänger-Themen 2
G java.util.LinkedList: Doppelte Elemente vermeiden Java Basics - Anfänger-Themen 5
K Prob mit java.util.regex.matches-String wird nicht erkannt? Java Basics - Anfänger-Themen 9
K java.util.Calendar und Objekt Java Basics - Anfänger-Themen 7
M Seltsames java.util.Date Problem Java Basics - Anfänger-Themen 6
RaoulDuke java.util.Date parsen Java Basics - Anfänger-Themen 5
M Source Code von java.util.SubList Java Basics - Anfänger-Themen 2
ff java.util.date Java Basics - Anfänger-Themen 2
O reguläre Ausdrücke bei java.util.regex.Pattern Java Basics - Anfänger-Themen 4
D Mit java.util.Arrays.sort die negativen Zahlen hinten Java Basics - Anfänger-Themen 4
C java.util.Timer und wait() oder so was Java Basics - Anfänger-Themen 3
G Leere java.util.List erzeugen Java Basics - Anfänger-Themen 2
S java.awt.List vs. java.util.List Java Basics - Anfänger-Themen 2
D dumme Frage! (was heist 'import java.util.*;' ?) Java Basics - Anfänger-Themen 3
J Probleme mit drucken aus Java Java Basics - Anfänger-Themen 3
Gokul Java chart library suggestion for web application? Java Basics - Anfänger-Themen 2
D wie kann ich gcc aus einer .java datei heraus aufrufen? Java Basics - Anfänger-Themen 2
S Text Formatierung in Java Java Basics - Anfänger-Themen 2
B Erste Schritte yaml parsen in Java Java Basics - Anfänger-Themen 19
C Methoden Umlaute in Java Java Basics - Anfänger-Themen 18
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 45
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 3
M Erste Schritte Java Primzahltester Java Basics - Anfänger-Themen 4
A csv Reader für Java? Java Basics - Anfänger-Themen 27
K Java - Enums Java Basics - Anfänger-Themen 30
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
Rookar java.lang.NoClassDefFoundError: org/json/JSONException Java Basics - Anfänger-Themen 2
Rookar Mit Button andere java öffnen Java Basics - Anfänger-Themen 4
F Java Object to Hashmap ? Java Basics - Anfänger-Themen 6
I Backend in Java und Ansicht von Dateien in statische HTML Seiten? Java Basics - Anfänger-Themen 15
R Input/Output Verwendung des Euro-Zeichens in Java Java Basics - Anfänger-Themen 7
I Push Nachrichten von JAVA EE App an Mobile App Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben