Hallo,
ich hätte mal eine Frage zum Ablauf von Methoden und der Bearbeitungszeit:
Wenn ich eine Methode zweimal sehr dicht hintereinander aufrufe, wird dann das Ergebnis kurzzeitig irgendwo zwischengespeichert oder so? Ich habe hier zwei Methoden laufen lassen, einmal speichere ich den Rückgabewert in einer Variable und einmal rufe ich die Methode jeweils wieder neu auf.
Dann habe ich die zwei Sachen laufen lassen(extra übertrieben lang) und habe aber gleich lange Laufzeiten für das Programm bekommen (jeweils +/- 34000 ms).
Also wie gesagt, meine Frage: Werden Methodenergebnisse kurzzeitig zwischengespeichert, so dass erneute Methodenaufrufe einfach auf den Rückgabewert zugreifen können?
Code:
in eulerb müsste die Methode isPalinDecimalism ja eigentlich zweimal durchlaufen werden und damit das Programm eine höhere Laufzeit haben, oder habe ich irgendwo einen Denkfehler?
Danke!
ich hätte mal eine Frage zum Ablauf von Methoden und der Bearbeitungszeit:
Wenn ich eine Methode zweimal sehr dicht hintereinander aufrufe, wird dann das Ergebnis kurzzeitig irgendwo zwischengespeichert oder so? Ich habe hier zwei Methoden laufen lassen, einmal speichere ich den Rückgabewert in einer Variable und einmal rufe ich die Methode jeweils wieder neu auf.
Dann habe ich die zwei Sachen laufen lassen(extra übertrieben lang) und habe aber gleich lange Laufzeiten für das Programm bekommen (jeweils +/- 34000 ms).
Also wie gesagt, meine Frage: Werden Methodenergebnisse kurzzeitig zwischengespeichert, so dass erneute Methodenaufrufe einfach auf den Rückgabewert zugreifen können?
Code:
Java:
public static long euler036a() {
for(int i = 1; i < 1000000; i++) {
boolean pal = isPalinDecimalism(i);
if(pal) System.out.println(i + " isPal: " + pal);
}
return -1;
}
public static long euler036b() {
for(int i = 1; i < 1000000; i++) {
if(isPalinDecimalism(i)) System.out.println(i + " isPal: " + isPalinDecimalism(i));
}
return -1;
}
in eulerb müsste die Methode isPalinDecimalism ja eigentlich zweimal durchlaufen werden und damit das Programm eine höhere Laufzeit haben, oder habe ich irgendwo einen Denkfehler?
Danke!