Knobi-Wan
Lt. Junior Grade
- Registriert
- März 2008
- Beiträge
- 355
Hallo,
folgendes Problem:
Der folgende Code
funktioniert nur, solange der Wert eines Array-Elements nicht <-1000 oder >1000 wird. Trifft das ein, sollte ja eigentlich das break in der bedingten Anweisung erreicht werden und die Schleife und damit auch die Eingabe unterbrochen werden. Stattdessen hängt das Programm und es öffnet sich eine java.exe, die mit 25% CPU-Auslastung läuft, auf meinem Quad-Core also offenbar single-threaded Vollast, weshalb ich davon ausgehe, dass eine Endlosschleife ausgeführt wird. Ich sehe allerdings den Fehler im Code nicht, bitte hier also um Hilfe.
PS: die "check"s sind nur dazu da, den genauen Auftrittsort des Problems festzunageln. Wenn die Zahl über 1000 ist, wird nur das erste ausgegeben, das zweite nicht, das Problem befindet sich also zwischen den beiden.
folgendes Problem:
Der folgende Code
Code:
void eingabe(){
try{
int i=0;
while(i<array.length){
array[i]=Double.parseDouble(JOptionPane.showInputDialog("Wert des "+(i+1)+". Messwerts?"));
System.out.println("check"+i);
if(array[i]<-1000 || array[i]>1000){
break;
}
System.out.println("check"+i);
i++;
}
}
PS: die "check"s sind nur dazu da, den genauen Auftrittsort des Problems festzunageln. Wenn die Zahl über 1000 ist, wird nur das erste ausgegeben, das zweite nicht, das Problem befindet sich also zwischen den beiden.