Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe nun dieses Jahr angefangen, in der Schule Java zu lernen
Bisher macht es mir auch recht viel Spaß, verstehe bisher alles.
Nun bin ich aber heute an meine Grenzen gekommen, wo ich nach selbst 2 Stunden Googlen nicht weiterkomme. Da ich es aber ohne den Lehrer schaffen wollte, hab ich ihn natürlich in der Schule nicht gefragt Was mir persönlich wichtig ist, dass mir mein Fehler erklärt wird und nicht NUR die Lösung gegeben wird Will ja schließlich auch dazulernen und nicht hinnehmen und nichts verstehen ^^
Meine Aufgabenstellung:
Ein Programm soll die Summe der natürlichen Zahlen von eins bis n berechnen. Für die Berechnung können Sie die Gauß´sche Summenformel nutzen:
Summe = n * (n + 1) / 2
Schreiben Sie das entsprechende Programm, welches nach der Eingame einer Zahl die Sume der natürlichen Zahlen bis dahin ausgibt.
import java.io.*;
public class Gaußsche
{
public static void main(String[] args)
throws IOException
{
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Bitte Zahl eingeben: ");
String zahl = in.readInt();
String summe = zahl*(zahl+1)/2;
System.out.println("Summe der Zahlen: " + summe);
}
}
Fehlermeldung:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method readInt() is undefined for the type BufferedReader
Nun, das kann ja gar nicht funktionieren. Du ließt ein int ein, ein Integer - das ist eine Ganzzahl. Speichern willst du den eingelesenen Wert allerdings in einer Variable vom Typ String - was eine Zeichenkette ist.
Richtig würde es also heißen:
Java:
int zahl = in.readInt();
int summe = zahl*(zahl+1)/2;
System.out.println("Summe der Zahlen: " + summe);
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Bitte Zahl eingeben: ");
String input = in.readLine();
int zahl = Integer.parseInt(input);
float summe = zahl*(zahl+1)/2f;
System.out.println("Summe der Zahlen: " + summe);
Bevor ich ARadauer´s Beitrag gelesen habe, hab ich alles so ersetzt, wie Gastredner zeigte. Funktionierte aber trotzdem nicht. Dort gibt er mir wieder den ReadInt() als "Fehler" aus.