Java:
import java.util.Locale;
import java.util.Scanner;
public class cal {
public static void main(String[]args) {
Scanner input = new Scanner(System.in).useLocale(Locale.US);
double n;
System.out.println("Please enter n > 0: ");
// Bedingung für +- abwechselnde Schleife. Ab 1/1 beginnt die Summierung mit -...Deswegen als erste Aktualisierung ist i-- da
n = input.nextDouble();
for (double i = 1.0; i < n; i++) {
// Wenn i größer und i geteilt durch 2 nicht rest null ergibt, dann ungerade Zahl...und bei ungerade minus
if(i % 2 != 0) {
System.out.println(Math.log(2) + (- 1.0/input.nextDouble()));
} else {
System.out.println(Math.log(2) + (1.0/input.nextDouble()));
}
}}}
Wenn ich für n = 15 eingebe
kommt das richtige raus, nämlich -> 0,6264
Allerdings...Wenn ich 15 nochmal eingebe, rechnet es die else-Aussage durch, obwohl 15 dessen Bedingung nicht erfüllt.
wie sorge ich dafür, dass es beim Eingeben von 15 bei der Ausgabe 0,6264 bleibt? Was ist an meinem Programm falsch?