Java: do-While-Schleife-Problem

Neue Frage »

Auf diesen Beitrag antworten »
mathelover Java: do-While-Schleife-Problem

Hallo liebe Boardies smile
ich habe ein Problem. Ich versuche schon die ganze Zeit eine do-while-Schleife in mein Java-Programm einzubauen, damit ich durch Eingabe zurück ins Menu gelangen kann.
Könntet ihr mal ein Blick drauf werfen bitte. Ich komme wirklich nicht weiter.


Vielen Dank im Voraus


Mit freundlichen Grüßen

mathelover


import java.util.Scanner;


public class GGTkGV{

// Anfang Attribute
// Ende Attribute





// Anfang Methoden
public static void main (String [] args) {

Scanner tastatur = new Scanner (System.in);

String m,e,f,menu="";
char methode,eingabe='a',eingabe2='B';

do {



System.out.print("\n.:::Wilkommen im Menü:::.\n");

System.out.print("\nWelche Methode möchten Sie wählen EUKLID oder NICOMACHUS [E/N]");
m = tastatur.next();
methode = m.charAt(0);

if (methode == 'E'){


do {



int zahl1, zahl2,merker,erg=1,z1,kgv,zusammen;
System.out.print("\n\nSie nutzen die EUKLID-Methode\nBitte geben Sie zwei positive ganze Zahlen ein!");
zahl1 = tastatur.nextInt();
zahl2 = tastatur.nextInt();

zusammen=zahl1*zahl2;



if ( zahl1 < zahl2){
merker = zahl2;
zahl2 = zahl1;
zahl1 = merker;
}
System.out.print("\n\nDivisionrestmethode: ggT von "+zahl1+" und "+zahl2+" ");




while(zahl2!=0){
erg = zahl2;
z1=zahl2;
zahl2 = zahl1%zahl2;
zahl1=z1;
}

System.out.print("\n\nggT="+erg+"");
kgv=zusammen/erg;
System.out.print("\n\nkgv="+kgv+"");


System.out.print("\n\nMöchten Sie zwei weitere Zahlen eingeben[J/N]?\n\nOder möchten Sie zurück ins Menü gelangen [menu]");
e = tastatur.next();
eingabe = e.charAt(0);
menu = tastatur.next();
}

while (eingabe == 'J');








}
else {


do {


int zahl1,zahl2=1,erg=1,merker,z1,blub=1,zusammen,kgv;
System.out.print("\n\nSie nutzen die NICOMACHUS-Methode\nBitte geben Sie zwei positive ganze Zahlen ein!");
zahl1 = tastatur.nextInt();
zahl2 = tastatur.nextInt();

if ( zahl1 < zahl2){
merker = zahl2;
zahl2 = zahl1;
zahl1 = merker;
}

System.out.print("\n\nSubtraktionsmethode: ggT von "+zahl1+" und "+zahl2+" ");
zusammen=zahl1*zahl2;

while (blub!=0){
erg = blub;
blub = zahl1-zahl2;

if (blub < zahl2) {
merker = blub;
zahl1 = zahl2 ;
zahl2 = merker;
} else {
zahl1 = blub;
}

} System.out.print("\n\nggT="+erg+"");
kgv = zusammen/erg;
System.out.print("\n\nkgv="+kgv+"");

System.out.print("\n\nMöchten Sie zwei weitere Zahlen eingeben[J/N]?\n\nOder möchten Sie zurück ins Menü gelangen [menu]");
f = tastatur.next();
eingabe2 = f.charAt(0);
menu = tastatur.next();
}

while (eingabe2 == 'J');




}

}

while (menu == "menu");



}
// Ende Methoden




}
 
Auf diesen Beitrag antworten »
David_pb

Ich rat mal: Du vergisst bei der äußersten Schleife "menu" mit einer gültigen Eingabe zu füllen?!
Auf diesen Beitrag antworten »
ed209

Pass auf beim Vergleichen von Strings.
menu == "J" fragt ab ob es sich um dasselbe Object handelt.
Mit menu.equals("J") kannst du abfragen ob die Werte von (moeglicherweise) verschiedenen Objekten gleich sind.

Das ist anders als z.B. bei C#

Gruß,
ED209
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »