Try and Catch

bluebaby

Aktives Mitglied
Hallo, ich muss ein Programm schreiben welches eine gesicherte Eingabe enthält. Es soll eine ganze Zahl zwischen 1 und 1000 eingelesen werden, falls die Zahl höher als 1000 oder kleiner als 1 ist soll die Eingabe Wiederholt werden. Ebenfalls soll Wiederholt werden wenn ein Buchstabe oder Zeichen ect. eingegeben wurde. Mein Problem ist, das ich beim try Block ja die Eingabe habe aber ich kann die nicht im Catch-Block verwenden um zb.: mit einer Schleife die Eingabe zu Wiederholen. Es kommt immer die Fehlermeldung das er die Variable eingabe nicht findet(eh klar ist ja nur in den geschwungenen Klammern deklariert) nur wie könnt ich das jetzt lösen? Also so das ich die eingabe auch im Catch-Block verwenden kann um die Schleife zu schreiben die mir die Eingabe Wiederholt. Oder bin ich ganz Falsch und es geht noch einfacher? Bitte um Hilfe,
Vielen Dank im Voraus

Java:
 public class Zahlundzeichen
{
   public static void main(String[]args){
       int obergrenze=1000;
       int untergrenze=1;
       do{
       try{       // Die Eingabe wird Überprüft, falls die Eingabe keine ganze Zahl ist kommen wir zum catch
        int eingabe=Integer.parseInt(showInputDialog("Bitte geben Sie eine Zahl zwischen 1 und 1000 ein")); // Eingabeaufforderung der ganzen Zahl zwischen 1und 1000
                                                        
         }
        
          catch(Exception e){ // Catch, falls die Eingabe keine ganze Zahl ist wird die Eingabeaufforderung wiederholt
              
                 System.out.println("Versuch");
               
              }
            }
             
              
           while(untergrenze>1000 || obergrenze<1);   

        }          
    }
 
Java:
public static void main(String[] args) {
	
		int obergrenze;
		int untergrenze;
		int eingabe;
            boolean valid;
		       
		obergrenze=1000;
		untergrenze=1;
		eingabe = 0;
		    
		do{

		valid = true;
   
			try{      				
				
				eingabe=Integer.parseInt(showInputDialog("Bitte geben Sie eine Zahl zwischen 1 und 1000 ein")); 
		                                                        
			}catch(Exception e){
		              
					valid = false;
		               
			}

                        if (eingabe > obergrenze || eingabe < untergrenze || !valid) {
                            Out.println("Versuch");
                            valid = false;
                        }
		
		}while(!valid);
 
Zuletzt bearbeitet:
nochmal geändert!!!!! guckst du oben!
Vielen Dank, ich hätte noch eine Frage und zwar hab ich jetzt noch dazu eine Aufforderung gemacht die ein Zeichen einliest. Das Zeichen soll jetzt so oft ausgegeben werden wie oft die eingegebene Zahl war. Das kapier ich zwar aber, es sollen bei der Ausgabe 80 Zeichen pro Zeile ausgegeben werden. also Wenn die Eingabe 100 war zb dann sollen 80 in einer Zeile und die Restlichen in der zweiten.
Vielen Dank
 
Ausgabe in einer Schleife, i hochzählen,
bei i % 80 == 0 oder so einen Zeilenumbruch ausgeben: \n
bzw. println() verwenden

teste aber besser mit Umbruch alle 4 Ausgaben
 
zähler1 = 0; //zählt gesamtausgabe
zähler2 = 1 //zählt zeilenmax

while (zähler < eingabe) {

Zeichen ausgeben

zähler1++;
zähler2++;

If (zähler2 == 80) {
zeilenvorschub
zähler2 = 0;
}

}
 

Neue Themen


Zurück
Oben