double summe = IntStream.rangeClosed(1,9)
.mapToDouble(Math::sqrt)
.sum();
Unser mihe7 scheint seit einer Woche eine Vorliebe für die komplizierteren Werkzeuge in Java zu entwickeln.funktionale Sprachelemente
double summe = 0.0;
for (int i = 0; i < 9; i++) {
summe += Math.sqrt(i);
}
import static java.lang.Math.max;
import static java.util.stream.Stream.iterate;
public class Summe {
private static long[] pair(long sequence, long factorial) {
return new long[] { sequence, factorial };
}
private static long[] nextNumberAndFactorial(long[] v) {
long next = v[0] + 1L;
return pair(next, max(1, v[1] * next));
}
private static long factorial(long[] v) {
return v[1];
}
public static void main(String[] args) {
double sum =
iterate(pair(0, 1), Summe::nextNumberAndFactorial)
.mapToDouble(v -> 1.0 / factorial(v))
.limit(10)
.sum();
System.out.println(sum);
}
}
Ach i wo, auf sowas wie Annotation wäre ich doch nie und nimmer gekommen. p@White_Fox soweit ich mich an den gestrigen und heutigen Tag entsinne, warst Du derjenige, der mich zu abstrusen Dingen, wie einen Annotation Processor, genötigt hat![]()
public static double fakt(int n) {
if(n<1)
return 1;
... // hier schreibst du den Rekusiven return aufruf hin!
}
public static void main(String[] args) {
Gleitkomma Zahl erg erstellen
Zählerschleife von 0 bis 9 laufen lassen
Rechnung: erg += 1/fakt(k);
Ausgabe z. B. von erg!
}
public static double sum() {
return IntStream
.rangeClosed(1, 9)
.mapToDouble(k -> 1.0 / IntStream.rangeClosed(1, k).reduce(1, (x, y) -> x * y))
.sum();
}
for (int k = 1; k < 9; k++);{
for (int k = 1; k < 9; k++) {
public class summenzeichen {
public static void main(String[] args) {
double sum = 0.0;
double p=1;
for (int k = 1; k < 9; k++){
sum+=1/p;
p*=k;
}
System.out.print(sum);
}
}
danke, jetzt weiss ich bescheid@zide_07 wenn du dein Code hier im Forum in Code Blöcke packst sieht es übersichtlicher aus.
Wie das geht entweder oben im Menü über Einfügen -> Code
Java:public class summenzeichen { public static void main(String[] args) { double sum = 0.0; double p=1; for (int k = 1; k < 9; k++){ sum+=1/p; p*=k; } System.out.print(sum); } }
Diese Lösung entspricht aber nicht der oben gezeigten Summenformel.Velen dank!! Habs jetzt so gelöst und es funktioniert
Java:public class summenzeichen { public static void main(String[] args) { double sum = 0.0; double p=1; for (int k = 1; k < 9; k++){ sum+=1/p; p*=k; } System.out.print(sum); } }
public static int fak( int n )
public static double summe(int n) {
double sum = 0.0;
for (int k = 1; k <= n; k++)
sum += 1.0 / fak(k);
return sum;
}