# Prüfen ob eingabe den Vorgaben entspricht z.B. ob ja oder nein



## luke1992 (11. Okt 2009)

Hallo, ich hoffe, dass ich das Thema in der richtigen Rubrik eröffnet habe. 
Habe auch vorher schon lange gesucht ob es das Thema schone einmal gab: entweder ich habe mit den Falschen Begriffen gesucht oder es gab es wirklich noch nicht.
Bin leider noch ein Ziemlicher noob was Java angeht (habe es erst seit 2 Wochen in der Schule)

Hier erst mal der Code zu meinem Problemchen:

```
import java.util.*;
public class Festgeld
{
	public static void main(String argv[])
	{
		/* Variablen Deklarieren*/
		double dblAnlage;
		String strEingabe;
		double dblKapital;
		double dblZinssatz;
		double dblZinsen;
		int	intJahre=0;
		Scanner objBsZeile=new Scanner(System.in);
		/*Ende Deklaration*/
		
		/*Eingabeaufforderung*/
		System.out.print("Bitte den Anlagebetrag eingeben: ");
		strEingabe=objBsZeile.nextLine();
		dblAnlage=Double.parseDouble(strEingabe);
		
		System.out.print("Bitte den Zinssatz eingeben: ");
		strEingabe=objBsZeile.nextLine();
		dblZinssatz=Double.parseDouble(strEingabe);
		
		dblKapital=dblAnlage;
		
		do
		{
			dblZinsen=dblKapital*dblZinssatz/100;
			dblKapital=dblKapital+dblZinsen;
			intJahre++;
			System.out.println(intJahre+". Jahr: Kapital hat eine Hoehe von: "+dblKapital+" Euro ereicht.");
			System.out.println("Sie haben "+dblZinsen+" Euro Zinsen erhalten");
			System.out.println("");
			System.out.print("Kuendigung? (j/n)");
			System.out.println("");
			strEingabe=objBsZeile.nextLine();
			
		
			
		}while(strEingabe.equals("n"));
		
		System.out.println("Kuendigung im "+ intJahre+". Jahr");
		System.out.println("Auszuzahlender Betrag: "+dblKapital+" Euro");
	
	
	}
}
```
1. Aufgabenstellunf war:
"Es soll für einen beliebigen Betrag und einen Zinssatz der jährliche Kapitalstand ermittelt werden und nach erfolgter Kündigung der auszuzahlende Betrag und die Anlagedauer ausgegeben werden"

Den ersten Teil habe ich auch schon gelöst.

Nun gab es Hauaufgabe die Aufgabe, dass wenn man etwas anderes als j oder n eingibt eine Fehlermeldung erscheint. Habe schon mehrer ansätze gehabt die ich aber nicht wirklich umsetzten konnte. bzw. diese nicht richtig funktioniert haben.

Eine meiner Ideen:

```
import java.util.*;
public class Festgeld
{
	public static void main(String argv[])
	{
		/* Variablen Deklarieren*/
		double dblAnlage;
		String strEingabe;
		double dblKapital;
		double dblZinssatz;
		double dblZinsen;
		int	intJahre=0;
		Scanner objBsZeile=new Scanner(System.in);
		/*Ende Deklaration*/
		
		/*Eingabeaufforderung*/
		System.out.print("Bitte den Anlagebetrag eingeben: ");
		strEingabe=objBsZeile.nextLine();
		dblAnlage=Double.parseDouble(strEingabe);
		
		System.out.print("Bitte den Zinssatz eingeben: ");
		strEingabe=objBsZeile.nextLine();
		dblZinssatz=Double.parseDouble(strEingabe);
		
		dblKapital=dblAnlage;
		
		do
		{
			dblZinsen=dblKapital*dblZinssatz/100;
			dblKapital=dblKapital+dblZinsen;
			intJahre++;
			System.out.println(intJahre+". Jahr: Kapital hat eine Hoehe von: "+dblKapital+" Euro ereicht.");
			System.out.println("Sie haben "+dblZinsen+" Euro Zinsen erhalten");
			System.out.println("");
			System.out.print("Kuendigung? (j/n)");
			System.out.println("");
			strEingabe=objBsZeile.nextLine();
			
		
			
		}while(strEingabe.equals("n"));
		do
		{
		System.out.println("Kuendigung im "+ intJahre+". Jahr");
		System.out.println("Auszuzahlender Betrag: "+dblKapital+" Euro");
		break;
		}while (strEingabe.equals("j"));
		System.out.println("Bitte j oder n eingeben.");
	
	
	}
}
```
Mit der anderen schleife kann man leider nicht mehr zur eingabe von j oder n zurück 

kann mir jemand helfen? 

Viele Grüße
Lukas


----------



## Marco13 (11. Okt 2009)

Grob sowas wie

```
do
        {
            dblZinsen=dblKapital*dblZinssatz/100;
            dblKapital=dblKapital+dblZinsen;
            intJahre++;
            System.out.println(intJahre+". Jahr: Kapital hat eine Hoehe von: "+dblKapital+" Euro ereicht.");
            System.out.println("Sie haben "+dblZinsen+" Euro Zinsen erhalten");
            System.out.println("");

            while (true) // Solange nicht j oder n eingegeben wurde...
            {
                System.out.print("Kuendigung? (j/n)");
                System.out.println("");
                strEingabe=objBsZeile.nextLine();
                if (strEingabe.equals("j") || strEingabe.equals("n"))
                {
                    break; // Innere Schleife abbrechen
                }
                else
                {
                    System.out.print("Eeeeyy, was soll'n '"+strEingabe+"' sein???");
                }
            }
        }while(strEingabe.equals("n"));
```


----------



## luke1992 (11. Okt 2009)

Danke genau das wars 
Vielen Dank für die schnelle Unterstützung.... :toll:


----------

