Schleifen und Exceptions

kingpin000

Mitglied
Hallo,
ich hab eine While-Schleife, um eine Falscheingabe abzufangen. Jedoch sobald ich eine Exception mit dem Hinweis der Falscheingabe werfen lasse, dann wird gleich das ganze Programm abgebrochen, statt an den Anfang der Schleife zu gehen.
 

kingpin000

Mitglied
Java:
import java.text.DecimalFormat;
import java.util.*;

@SuppressWarnings("serial")
class AbsoluteZeroException extends Exception
{
    public AbsoluteZeroException() {}    
    public AbsoluteZeroException(String s)
    {
        super(s);
    }
}

public class CelsiusToFahrenheit {
	
	static double celsiusToFahrenheit(double celsiusWert)
	{
		double fahrenheitWert;
				
		fahrenheitWert = 1.8 * celsiusWert + 32;
		
		return fahrenheitWert;
		
	}
	
    public static void main(String[] args) 
    {
    	Locale.setDefault(Locale.GERMAN);
    	DecimalFormat df = new DecimalFormat("#.##");
		
    	int werte = 1, i = 0;    	 		
    	Scanner scan = new Scanner(System.in);
    	boolean eingabe = true;
    	

    	
    	
    	System.out.print("Temperaturumrechner\nCelsius zu Fahrenheit\nBitte geben Sie die Anzahl der Werte an: ");
    	
    	try
    	{ 
    		werte = scan.nextInt();
    		
        	double[] celsiusArray = new double[werte];
    		double[] fahrenheitArray = new double[werte];
    		 	
    		for(i = 0; i <=(werte-1); i++)
    		{    	
    			System.out.print((i+1) + ". Wert: ");
    			eingabe = scan.hasNextDouble();
    			while(eingabe)
    			{	
    			celsiusArray[i]=scan.nextDouble();
    			
    			if (celsiusArray[i] < -273.5)
    				throw new AbsoluteZeroException("Eingabe liegt unter Absoluten Nullpunkt");
    			eingabe = false; 
    			
    			}
    			fahrenheitArray[i] = celsiusToFahrenheit(celsiusArray[i]);
    		}
    			
    		for(i = 0; i <=(werte-1); i++)
    		{
    			System.out.println(celsiusArray[i] + "°C = "+ df.format(fahrenheitArray[i]) + "°F" );

    		} 	
    	}
		catch (AbsoluteZeroException exc)
		{
		System.out.println(exc.getMessage());
		}
    	catch (InputMismatchException exc)
    	{
    		System.out.println("Falsche Eingabe");
    	}
    	catch (Exception exc)
    	{
    		System.out.println("unbekannter Fehler");
    		exc.printStackTrace();  
    	}
    	    	
    }	
}
 

darkcoffee

Mitglied
Momentan hast du den Try-Cach-Block außerhalb der Schleife. Das führt natürlich dazu, dass die Schleife abgebrochen wird, sobald die Exception auftritt.

Du könntest:
a) auf das Auslösen der Exception verzichen und direkt eine Meldung ausgeben
b) oder den try-catch-block innerhalb der For-Schleife platzieren statt außerhalb
c) und evtl. zusätzlich zu b):

1. Den Scanner als Variable für die ganze Klasse deklarieren (1)

Java:
public class CelsiusToFahrenheit {
    
    private static Scanner sc; // (1)

    static double celsiusToFahrenheit(double celsiusWert)
    {
        // ...
    }
    
    public static void main(String[] args) 
    {
        // ...
        scan = new Scanner(System.in); // (1)
        // ...

2. Ich würde eine weitere statische Methode anlegen:

Java:
static double readValue() throws AbsoluteZeroException() {
}

mit dem Inhalt der bisherigen Schleife (und mit return Wert für die Rückgabe des eingelesenen Wertes)

und die Methode dann innerhalb der Schleife nutzen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T schleifen Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
S Erste Schritte While Schleifen Java Basics - Anfänger-Themen 11
M geschachtelte for-Schleifen - Einmaleins ausgeben Java Basics - Anfänger-Themen 3
Mikejr Schleifen Java Basics - Anfänger-Themen 4
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
K geschachtelte "for-Schleifen" Java Basics - Anfänger-Themen 3
Alen123 Potenzen in Schleifen Java Basics - Anfänger-Themen 26
Alen123 String wiederholen mit Schleifen Java Basics - Anfänger-Themen 1
A Schleifen und Boolsche Ausdrücke Java Basics - Anfänger-Themen 42
W Schleifen Java Basics - Anfänger-Themen 36
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
Mojtaba1986 Hausaufgabe (Schleifen) Java Basics - Anfänger-Themen 33
A Schleifen Verzweigungen Java Basics - Anfänger-Themen 18
C Sind die while-Schleifen richtig in for-Schleifen ersetzt worden? Java Basics - Anfänger-Themen 8
D Schleifen Problem Java Basics - Anfänger-Themen 2
H Muster mit verschachtelten Schleifen kreieren. Java Basics - Anfänger-Themen 2
A Schleifen in Java Java Basics - Anfänger-Themen 4
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
C Schleifen Durchlauf Java Basics - Anfänger-Themen 7
M While-Schleifen-Fehler Java Basics - Anfänger-Themen 4
J Schleifen Wiederholendes Zeichenmuster Java Basics - Anfänger-Themen 4
K For-Schleifen Ablauf Java Basics - Anfänger-Themen 5
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
S Hilfe bei Java Aufgabe (Schleifen) Java Basics - Anfänger-Themen 25
B Verschachtelte For Schleifen Java Basics - Anfänger-Themen 8
G Input/Output Schleifen Durchlauf Java Basics - Anfänger-Themen 5
A Erste Schritte Schleifen Java Basics - Anfänger-Themen 5
J Muster und Schleifen Java Basics - Anfänger-Themen 33
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
scratchy1 Argumente mit verschiedenen Schleifen ausgeben Java Basics - Anfänger-Themen 3
C Schleifen Java Basics - Anfänger-Themen 12
E geschachtelte for-schleifen Java Basics - Anfänger-Themen 6
L Übungsaufgabe zu Schleifen Java Basics - Anfänger-Themen 7
W Erste Schritte Rechnen mit Schleifen? Denkanstoß gesucht Java Basics - Anfänger-Themen 15
A Erste Schritte for-Schleifen vereinfachen Java Basics - Anfänger-Themen 5
S Immer das selbe mit den Schleifen Java Basics - Anfänger-Themen 24
kokojamboo92 Schleifen und Arrays Java Basics - Anfänger-Themen 7
N Problem mit Schleifen Java Basics - Anfänger-Themen 20
O Array, geschachtelte For-Schleifen Java Basics - Anfänger-Themen 34
S While-Schleifen Ausgabe als String? Java Basics - Anfänger-Themen 1
R Threads Pause zwischen zwei Schleifen Java Basics - Anfänger-Themen 1
D verschachtelte Schleifen Java Basics - Anfänger-Themen 6
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
C Variablen in Schleifen außerhalb verwenden Java Basics - Anfänger-Themen 2
L Schachbrettnummerierung mit Schleifen.. Java Basics - Anfänger-Themen 3
H Schleifen Java Basics - Anfänger-Themen 8
L Zahlentripel und for-Schleifen Java Basics - Anfänger-Themen 2
T Spezielle Aufgabe zu Schleifen Java Basics - Anfänger-Themen 3
T Erste Schritte Schleifen-Stop Java Basics - Anfänger-Themen 14
kilopack15 Rekursion und Schleifen Java Basics - Anfänger-Themen 27
I Mehre While-Schleifen hintereinander Java Basics - Anfänger-Themen 13
P Terminieren diese Schleifen Java Basics - Anfänger-Themen 6
L Was heißt terminieren bei Schleifen? Java Basics - Anfänger-Themen 3
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
C Erste Schritte While-Schleifen-Problem Java Basics - Anfänger-Themen 3
W Schleifen bei Greenfoot Java Basics - Anfänger-Themen 4
B Operatoren Stopp von Schleifen Java Basics - Anfänger-Themen 9
K Loop ohne Schleifen Java Basics - Anfänger-Themen 2
V Rechenzeichen bei Termen - Darstellung bei Schleifen Java Basics - Anfänger-Themen 7
E Muster auf der Konsole ausgeben lassen (Schleifen) Java Basics - Anfänger-Themen 7
C Erste Schritte Probleme bei Aufgaben zu Schleifen Java Basics - Anfänger-Themen 11
F OOP Schleifen und Probleme mit Setter und Getter Java Basics - Anfänger-Themen 1
L Blöcke bei verschachtelten Schleifen Java Basics - Anfänger-Themen 3
L Kurze Frage zu verschachtelten Schleifen Java Basics - Anfänger-Themen 3
E Erste Schritte Sternchenpyramide mit For-Schleifen erstellen Java Basics - Anfänger-Themen 9
H Best Practice Wie mit break verschachtelte Schleifen komplett verlassen? Java Basics - Anfänger-Themen 2
arti28 Erste Schritte For-Schleifen und While-Schleifen, String als Muster ausgeben. Java Basics - Anfänger-Themen 3
T [Schleifen] Schleifenproblem Java Basics - Anfänger-Themen 4
F Verschachtelte Schleifen Java Basics - Anfänger-Themen 4
J Hilfe verschachtelte Schleifen Java Basics - Anfänger-Themen 5
O Geschachtelte For-Schleifen Java Basics - Anfänger-Themen 1
D Zeichnen, Schleifen Java Basics - Anfänger-Themen 7
S Zeichnen , Schleifen Java Basics - Anfänger-Themen 4
L Schleifen und Array, nur letzte Eingabe wird ausgegeben Java Basics - Anfänger-Themen 3
Z Frage zu for-Schleifen Java Basics - Anfänger-Themen 5
M Wie kann ich eine Ausgabe vervielfachen? (Schleifen) Java Basics - Anfänger-Themen 4
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
T Erneute Frage zu Schleifen Java Basics - Anfänger-Themen 4
V Schleifen die nicht voneinander abhängen! (für CAN-BUS) Java Basics - Anfänger-Themen 10
T Anfängerfrage zu Schleifen und Arrays Java Basics - Anfänger-Themen 5
S for-Schleifen Problem Java Basics - Anfänger-Themen 4
W Methoden While Schleifen Ergebnis im String speichern Java Basics - Anfänger-Themen 5
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
X Methoden Logik-Problem mit Schleifen. Java Basics - Anfänger-Themen 7
J MouseListener für Schleifen-Objekte Java Basics - Anfänger-Themen 13
W Aufgabe mit Schleifen Java Basics - Anfänger-Themen 8
M Sektkelch mit Schleifen Java Basics - Anfänger-Themen 9
F Methoden JTable + 2 For-Schleifen Java Basics - Anfänger-Themen 4
I Listen, for - Schleifen Java Basics - Anfänger-Themen 8
N Schleifen Problem Java Basics - Anfänger-Themen 3
L Histogram mittels Schleifen und Arrays Java Basics - Anfänger-Themen 9
A Ausgabe von Schleifen nebeneinander? Java Basics - Anfänger-Themen 3
T durchlaufene while-Schleifen zählen Java Basics - Anfänger-Themen 3
L schleifen fehler Java Basics - Anfänger-Themen 12
X Array Ausgabe bei Verwendung von 2 Schleifen erklären Java Basics - Anfänger-Themen 8
J Schachbrett mit Hilfe von while-Schleifen Java Basics - Anfänger-Themen 10
F Nach Beendigung aller Schleifen von vorn anfangen, Java Basics - Anfänger-Themen 5
R Anzahl der ineinander verschachtelten for-Schleifen von Variable abhängig machen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben