Warum geht der Computer in diesem Code wegen der sleep Unterbrechung in den catch block...
...und in diesem Programm nicht???
Ps: Das erste Programm zeigt nur die Aktuelle Uhrzeit an und das zweite sollte ein Ergebnis einer Rechnung ausrechnen.
Ich komm hier nicht mehr weiter ;(
Java:
public class MyThread extends Thread implements Runnable {
private Frame frame;
public MyThread(Frame frame) {
this.frame = frame;
}
@Override
public void run() {
int i =0;
while (i!=-1) {
try {
sleep(1000);
}
catch(InterruptedException e) {
}
GregorianCalendar cal = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("dd.MMMM.yyyy HH:mm:ss");
frame.getTime().setText(sdf.format(cal.getTime()));
}
}
}
Java:
public class CalcThread extends Thread implements Runnable {
private Rechenquiz frame;
private ArrayList<Aufgabe> liste;
private Double result;
private int timeinmillis;
public CalcThread(Rechenquiz frame, ArrayList<Aufgabe> liste, int time) {
this.frame = frame;
this.liste = liste;
this.timeinmillis = time * 1000;
this.frame.getjTextField1().setText("");
}
@Override
public void run(){
int listSize = this.liste.size();
for (int i = 0; i < listSize; i++) {
Double z1 = liste.get(i).getZ1();
Double z2 = liste.get(i).getZ2();
String op = liste.get(i).getOp();
frame.getjLabelZ1().setText(z1.toString());
frame.getjLabelZ2().setText(z2.toString());
frame.getjLabelOP().setText(op);
if (op.equals("+")) {
result = z1 + z2;
}
if (op.equals("-")) {
result = z1 - z2;
}
if (op.equals("*")) {
result = z1 * z2;
}
if (op.equals("/")) {
result = z1 / z2;
}
System.out.println(i);
try {
sleep(timeinmillis);
} catch (InterruptedException ex) {
System.out.println("Exception");
}
}
}
Ich komm hier nicht mehr weiter ;(
Zuletzt bearbeitet: