Einfache/s Java-Programm/e - finde Fehler nicht!

cruX_91

Ensign
Registriert
Aug. 2009
Beiträge
183
Hi,

Wir haben vor ein paar Wochen SQL beendet (worüber ich sehr froh war). Dachte, jetzt kommt endlich was anderes und besseres. Aber nein! Jetzt gibts wieder objektorientierte Programmierung...mit Java. :mad: Das ist mindestens genauso schlimm. :D

Nun haben wir schon ein paar einfache Programme geschrieben. Aber bei mir kommt fast immer irgendein Fehler. Mein Lehrer ist ein richtiges Ar...l... und kann/wills mir einfach nicht richtig erklären. Deshalb frage ich hier: Wo liegt der Fehler?

1.

/**
*
* Beschreibung
*
* @version 1.0 vom 03.03.2010
* @author
*/

public class addition {

public static void main(String[] args) {
//Deklaration
int a,b,summe;
//Initialisierung
System.out.println ("Bitte zwei Zahlen eingeben:");
a=In.readint();
b=In.readint();
//Berechnung
summe=a+b;
//Ausgabe
System.out.println ("Die Summe von "+a+" und "+b+" ist: "+summe+"");
}
}

Fehler:

Compiliere C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Java\addition.java mit Java-Compiler
addition.java:16:6: cannot find symbol
symbol : variable In
location: class addition
a=In.readint();
^
addition.java:17:6: cannot find symbol
symbol : variable In
location: class addition
b=In.readint();
^
2 errors


2.

/**
*
* Beschreibung
*
* @version 1.0 vom 03.03.2010
* @author
*/

public class mittelwert {

public static void main(String[] args) {
//Deklaration
double a,b,c,mittelwert;
//Deklaration
System.out.println ("Bitte drei Zahlen eingeben:");
a=In.readdouble ();
b=In.readdouble ();
c=In.readdouble ();
//Berechnung
mittelwert=(a+b+c)/3;
//Ausgabe
System.out.println ("Der mittelwert von "+a+", "+b+" und "+c+" ist:"+mittelwert+"");
}
}

Fehler:
Compiliere C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Java\mittelwert.java mit Java-Compiler
mittelwert.java:16:6: cannot find symbol
symbol : variable In
location: class mittelwert
a=In.readdouble ();
^
mittelwert.java:17:6: cannot find symbol
symbol : variable In
location: class mittelwert
b=In.readdouble ();
^
mittelwert.java:18:6: cannot find symbol
symbol : variable In
location: class mittelwert
c=In.readdouble ();
^
3 errors
 
steht doch schon da, woran es liegt. ;-)

"addition.java:16:6: cannot find symbol
symbol : variable In"

Kann mit dem "in" nichts anfangen.

PHP:
String blah;
BufferedReader infile = new BufferedReader ( new InputStreamReader (System.in) );
blah = infile.readLine();
 
Zuletzt bearbeitet:
wie coolhandluke schon sagte: was der fehler ist steht da.

die lösung scheint mir aber zu saein, dass du das "In" im ersten buchstaben großgeschrieben hast. es sollte "in" heißen.

falls das es noch cniht löst, dann fehlt noch der import der funktion: als erste zeile mal einfügen:
import java.io.*;
 
Dass es da steht, hab ich schon kapiert. Aber ich verstehs halt nicht. . ."Kann das Symbol nicht finden". . .oO

Auch, wenn ich "in" klein schreibe, gehts nicht.

Und noch was hinzufügen muss ich sicher nicht. . .
 
also, erstens wie ich sagte muss es klein geschrieben werden und zweitens musst vermutlich doch, wie cih schon sagte musst du
import java.io.*;
noch am anfang der datei einfügen. sonst gibt es das symbol "in" gar nicht. probier's aus.
 
wich ich zweimal sagte: am anfang der datei. d.h. aller erste zeile oder anch den kommentaren gleich. also noch vor der deklaration der klasse.
 
Weiß ja nicht mal wo die Datei anfängt bzw. was dazu gehört und was nicht. . .

Das kommt dann:

Compiliere C:\Dokumente und Einstellungen\Administrator\Eigene Dateien\Java\addition.java mit Java-Compiler
addition.java:12:4: illegal start of expression
import java.io.*;
^
addition.java:12:19: <identifier> expected
import java.io.*;
^
addition.java:12:20: illegal start of expression
import java.io.*;
^
3 errors
 
häh? wie du weißt nicht wo die datei anfängt? du hast sie doch im editor offen? dan einfach GANZ an denn anfang.
ach und wie luke sagte, offenbar ist "in" nicht die systemvariable für den standart input. man muss sie noch definieren. hier mal vollständig wie es ansich gehen sollte:

/**
*
* Beschreibung
*
* @version 1.0 vom 03.03.2010
* @author
*/

import java.io.*;

public class addition {

public static void main(String[] args) {
//Deklaration
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int a,b,summe;
//Initialisierung
System.out.println ("Bitte zwei Zahlen eingeben:");
a=in.readint();
b=in.readint();
//Berechnung
summe=a+b;
//Ausgabe
System.out.println ("Die Summe von "+a+" und "+b+" ist: "+summe+"");
}
}
Ergänzung ()

sry, vertippt: hab beim copy&paste unten das "in" wieder groß gehabt. muss immer klein sein.
 
Na, fängt die Datei

HIER AN
/**
*
* Beschreibung
*
* @version 1.0 vom 03.03.2010
* @author
*/

oder fängt sie

HIER AN

public static void main(String[] args) {
//Deklaration
double a,b,c,mittelwert;
//Deklaration
System.out.println ("Bitte drei Zahlen eingeben:");
a=In.readdouble ();
b=In.readdouble ();
c=In.readdouble ();
//Berechnung
mittelwert=(a+b+c)/3;
//Ausgabe
System.out.println ("Der mittelwert von "+a+", "+b+" und "+c+" ist:"+mittelwert+"");
}
}

oder fängt sie

HIER AN
//Deklaration
double a,b,c,mittelwert;
//Deklaration
System.out.println ("Bitte drei Zahlen eingeben:");
a=In.readdouble ();
b=In.readdouble ();
c=In.readdouble ();
//Berechnung
mittelwert=(a+b+c)/3;
//Ausgabe
System.out.println ("Der mittelwert von "+a+", "+b+" und "+c+" ist:"+mittelwert+"");
}
}

Also, das was du da geschrieben hast ( BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); ) hatten wir noch nie. . .

Muss das denn "printin" heißen oder "println" (also ein kleines L)?
 
eine datei fängt IMMER mit der ersten zeile an. das ist der datei anfang. da gibt es ncihts zu interprätieren. wie ich sagte kann man den import aber auch nach den kommentaren die da am anfang stehen setzten. solange etwas vor deinem "dataianfang" steht, kann das wohl nicht der anfang gewesen sein.

println (dabei ist der vorletzte buchstabe ein kleines L). es steht quasi für print Line.

hast du den von mir geposteten code compiliert?

es kann natürlich sein, dass ihr eine hilfsbibliothek vom lehrer verwendet in der das symbol "in" bereits deklariert wurde. dann musst du diese auch importieren. da das oben nicht der fall war, hab ich "in" slebst definiert.
 
Ich weiß zwar nicht, was du mit "compilieren" meinst, (Ich kenne eben den Compiler, der das ganze Zeugs überprüfut) aber dieses "import java.io.*;" habe ich schon probiert und da kommt eben jene genannte Meldung.
 
der Compiler übersetz den quellcode in einen bytecode. erst dieser bytecode wird auf der java-virtual-machine asugeführt. und dieses übersetzten nennt man compilieren. während des compilieren wird natürlöich "überprüft" ob die syntax etc. korrekt ist.

das er bei dir wegen "import java.io.*;" fehler ausgibt ist sehr merkwürdig. irgendwas ist da faul bei dir. wie kompilierst du denn? womit und mit welchem befehl, also was machst du genau?
 
Ich klicke auf diesen grünen Pfeil links oben.

Wenn alles richtig ist, führt er das Programm normalerweise auch gleich aus. . .
 
eiei informatik an der schule is doch keine so tolle idee :D
lies mal nur 1h auf javabuch.de von anfang an und dann checkst alles gleich ;)
 
Das, was wir bisher gemacht haben, "checke" ich schon. . .Ich weiß ja nur nicht wo der Fehler ist! :D
 
cruX_91 schrieb:
Ich klicke auf diesen grünen Pfeil links oben.
sorry, aber willst du mich verarschen? was soll ich mit der info anfangen? was für ein programm benutzt du??????
 
Ich glaube dir fehlt die Klasse In, die vom Lehrer gestellt wurde. Es gibt keine native Methode bei Java integer oder sonstiges per einfacher Methode auszulesen. Da brauchtsn BufferedReader ueber den InputStreamReader von System.in und ein parse auf integer/double/float/wasauchimmer.
 
-.-

egal, hast du meinen code aus posting #9 mal in enie datei gespeichert und versucht zu compilieren? das er diese fehlermeldung bei dem import ausgibt ist äußerst merkwürdig. entweder hast du das falsch reingestellt oder da ist noch was ganz anderes mit deiner java-einrichtung kaputt.

edit: @tarsonis: da stimmt noch viel mehr nicht.
 
Zurück
Oben