Java Programm warten lassen ohne dass es stoppt?

1 Antwort

Zunächst:

bar.setValue(i);

Funktioniert nur innerhalb deiner Schleife.

Ich möchte nur die aktuelle for schleife anhalten und nicht das ganze Programm wie mit Thread.sleep.

Genau das ist der Hinweis: Für deine GUI mit dem JProgressbar und deiner Methode benötigst du unterschiedliche Threads. 

Es gibt entsprechende Beispiele für das Setzen des Progressbars, wie hier:

https://docs.oracle.com/javase/tutorial/uiswing/examples/components/ProgressBarDemoProject/src/components/ProgressBarDemo.java

Laufzeitkomplexität O-Notation Java?

Wenn ich folgende Methode habe:

public long func(int n)
{
   long m = 0;
   for(int i=0; i<10000; i++)
   {
      for(int j=0; j<n; j++)
      {
         for(int k=1; k<n*n; k++)
         {
            m++;
         }
      }
   }
   return m;
}

Wo die for-Schleifen ineinander verschatelt sind und ich die Laufzeitkomplexxität ausrechnen will ist es dann für die erste for-Schleife O(1), weil es immer 10k Aufrufe sind und die for-Schleife damit konstant ist, für die zweite for-Schleife dann O(n) und für die dritte dann O(n²)?

Müsste ich jetzt alle zusammen multiplizieren O(1)O(n)O(n²) wäre das Ergebnis dann O(n³) oder muss ich die Komplexität anders berechnen?

...zur Frage

GUI Freeze bei einer "Thread.sleep();" Anweisung?

Hallo Ich habe ein kleines Problem mit meiner GUI. Wenn ich den Knopf drücke friert meine GUI ein. Durch den "System.out.println();" Befehl sehe ich zwar dass "a" niedriger wird, auch mit der Verzögerung doch leider friert die GUI ein. Wäre nett wenn mir jemand helfen könnte. Schon einmal Danke im Voraus.//Listener for the button    public class Knopferkennung3 implements ActionListener{       @Override      public void actionPerformed(ActionEvent arg0) {        //String convert into integer(number        int a = Integer.parseInt(Eingabefeld1.getText());        //Countdown for the shutdown command        while (a>-6){          a--;          System.out.println(a);          try {            Thread.sleep(1000);          } catch (InterruptedException e) {            e.printStackTrace();          }

...zur Frage

While Schleife in Phyton?

Wie schreibe ich ein Programm das mich nach der Malfolge fragt und dann das Einmaleins berechnet? Dieses Programm darf aber keine for schleife nutzen sondern nur die while Schleife

...zur Frage

hi, ich soll ein programm schreiben das arabische zahlen in römische zahlen umrechnet, dabei soll ich rekursiv vorgehen. kann mir da jemand helfen?

iterativ hab ich das hinbekommen, (das hat aber mindestens eine laufzeit von O(n^2) ca würd ich jetzt mal schätzen) nur weiß ich jetzt nicht wie ich diese iterative lösung in eine rekusive umwandeln kann. hier mein iterativer umrechner:

public class Roman {

static String toRoman(int n) {
    String [] roman = {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
    int [] arab = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
    String Output ="";
    
    for (int i = roman.length-1; i >= 0; i--) {
       int times = n / arab[i]; 
       for (int j = 1; j <= times; j++) {
           Output = Output + roman[i];
       }
      n = n % arab[i]; 
    }
    return Output;
}

public static void main(String[] args) {
    if (args.length==0) return;
    int N = Integer.parseInt(args[0]);
    
    System.out.println(toRoman(N));
}

}

danke schon mal im voraus!

...zur Frage

While- in For-Schleife umschreiben - JAVA

Hi, ich habe in einer Aufgabe ein Codefragment vorgegeben, dass ich in eine For-Schleife umschreiben soll. Bin Anfänger und wollte deshalb hier mal fragen, ob sich jemand mit JAVA auskennt und meine Lösung anschauen und ggf. korrigieren könnte... Wäre echt nett!

Hier die Vorgabe:

ArrayList<Rucksack> studentenRucksaecke = new ArrayList<Rucksack>();
        ...
        int pos = studentenRucksaecke.size();
        while (pos>=1) {
        pos--;
        studentenRucksaecke.get(pos).gewichtPruefen();
        }
 

(Leider werden "<>" in der Code-Formatierung als "&lt ;" dargestellt... Sorry.)

Meine Umschreibung in eine For-Schleife:

ArrayList<Rucksack> studentenRucksaecke = new ArrayList<Rucksack>();
...
for(int pos = studentenRucksaecke.size(); pos>=1; pos--){
    studentenRucksaecke.get(pos).gewichtPruefen();
}   
...zur Frage

Weiß jemand was dieser Code übersetzt bedeutet: for (int i=0; i< val.length; i++)?

Das es um eine Schleife und einen Array geht, weiß ich, ich tu mir nur mit dem Übersetzen schwer. Wenn mir jemand bei diesem Ausdruck helfen könnte, würde mir das schon sehr viel weiterhelfen.

int[] val ={0,1,2,3}; 

int sum=0; 

for (int i=0; i< val.length; i++)

sum += val[i];

S.o.p:

...zur Frage

Was möchtest Du wissen?