[Java]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class EinAus {
public void print_Menu()
{
int Nummer;
System.out.println();
System.out.println("MENÜ");
System.out.println(" Auswahloptionen:\t\t\t");
System.out.println("1) Double Werte eingeben\t\t\t");
Scanner sc= new Scanner (System.in);
Nummer=sc.nextInt(); //hier wäre die Problemstelle
switch(Nummer){
//Double Werte eingeben
case 1:
Werte_eingeben();
// zeige menü
print_Menu();
return;
case 2:
System.out.println("Hallo");
default:
print_Menu();
}}
public void Werte_eingeben(){
double k=2;
int i=-1;
i++;
System.out.println("Bitte geben Sie eine Double Zahl ein");
k=Zahl_in_Double();
System.out.println(k+" Die eingegebene Zahl");
}
public double Zahl_in_Double(){
double d=0;
String l=uebergebeString();
try {
d = Double.valueOf(l);
} catch (NumberFormatException e) {}
double obere_Grenze=999;
double untere_Grenze=-999;
if (obere_Grenze>d && untere_Grenze<d)
{return d;}
else {System.out.println("Die Zahl ist nicht innerhalb des Wertebereich");
d=0;
return d;
}
}
public String uebergebeString(){
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
{
String m;
//System.out.println("Bitte, geben Sie ein Verzeichnis ein.");
//System.out.println("z.B. C:/Dokumente/");
m="";
try
{
m = buffer.readLine();
}
catch(IOException a)
{
a.printStackTrace();
}
finally
{
try
{
buffer.close();
}
catch(IOException a){
}
}
return m;}}
}
[/Java]
Hallo,
ich komme einfach nicht weiter. Das Programm wird richtig ausgeführt jedoch wenn ich dann versuche
Doublewerte einzugeben, bekomme ich folgende Fehlermeldung:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at EinAus.print_Menu(EinAus.java:20)
at EinAus.print_Menu(EinAus.java:27)
at Matrix.main(Matrix.java:10)
Warum springt Java zuerst zu case? und wie kann ich das verhindern?
Danke, für die Hilfe.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class EinAus {
public void print_Menu()
{
int Nummer;
System.out.println();
System.out.println("MENÜ");
System.out.println(" Auswahloptionen:\t\t\t");
System.out.println("1) Double Werte eingeben\t\t\t");
Scanner sc= new Scanner (System.in);
Nummer=sc.nextInt(); //hier wäre die Problemstelle
switch(Nummer){
//Double Werte eingeben
case 1:
Werte_eingeben();
// zeige menü
print_Menu();
return;
case 2:
System.out.println("Hallo");
default:
print_Menu();
}}
public void Werte_eingeben(){
double k=2;
int i=-1;
i++;
System.out.println("Bitte geben Sie eine Double Zahl ein");
k=Zahl_in_Double();
System.out.println(k+" Die eingegebene Zahl");
}
public double Zahl_in_Double(){
double d=0;
String l=uebergebeString();
try {
d = Double.valueOf(l);
} catch (NumberFormatException e) {}
double obere_Grenze=999;
double untere_Grenze=-999;
if (obere_Grenze>d && untere_Grenze<d)
{return d;}
else {System.out.println("Die Zahl ist nicht innerhalb des Wertebereich");
d=0;
return d;
}
}
public String uebergebeString(){
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
{
String m;
//System.out.println("Bitte, geben Sie ein Verzeichnis ein.");
//System.out.println("z.B. C:/Dokumente/");
m="";
try
{
m = buffer.readLine();
}
catch(IOException a)
{
a.printStackTrace();
}
finally
{
try
{
buffer.close();
}
catch(IOException a){
}
}
return m;}}
}
[/Java]
Hallo,
ich komme einfach nicht weiter. Das Programm wird richtig ausgeführt jedoch wenn ich dann versuche
Doublewerte einzugeben, bekomme ich folgende Fehlermeldung:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at EinAus.print_Menu(EinAus.java:20)
at EinAus.print_Menu(EinAus.java:27)
at Matrix.main(Matrix.java:10)
Warum springt Java zuerst zu case? und wie kann ich das verhindern?
Danke, für die Hilfe.