Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Informatik in der Schule » Java: do-While-Schleife-Problem » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Java: do-While-Schleife-Problem
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
mathelover
Grünschnabel


Dabei seit: 17.01.2010
Beiträge: 2

Java: do-While-Schleife-Problem Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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




}
18.02.2010 13:44 mathelover ist offline E-Mail an mathelover senden Beiträge von mathelover suchen Nehmen Sie mathelover in Ihre Freundesliste auf
David_pb
Mitglied


Dabei seit: 01.06.2007
Beiträge: 44

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich rat mal: Du vergisst bei der äußersten Schleife "menu" mit einer gültigen Eingabe zu füllen?!
18.02.2010 18:45 David_pb ist offline E-Mail an David_pb senden Beiträge von David_pb suchen Nehmen Sie David_pb in Ihre Freundesliste auf
ed209
Routinier


Dabei seit: 07.09.2006
Beiträge: 324

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
24.02.2010 16:09 ed209 ist offline E-Mail an ed209 senden Beiträge von ed209 suchen Nehmen Sie ed209 in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Informatik in der Schule » Java: do-While-Schleife-Problem