Anfänger Problem: SimpleIO.readint()

joule

Mitglied
Schönen guten Abend,

zunächst möchte ich sagen, dass ich mit Programmieren und mit Java bis vor 2 Tagen noch nie was am Hut hatte, daher mein Kenntnisstand noch sehr sehr gering ist ;) und daher Antworten bitte möglichst simpel verfassen! :D

hier der quellcode um den es geht:

Java:
 public class Division
{
    public static void main(String args[])
    {
        int zahl;
        int erg;
        
        System.out.println("Ganze Zahl eingeben:");
        zahl = SimpleIO.readInt();
        erg = zahl / (zahl-5);
        System.out.println(erg);
        
    }
}

Wenn ich das compile (sagt man das so? =]) bekomme ich in der Zeile:

[JAVA=9]zahl = SimpleIO.readInt();[/code]

die Fehlermeldung: non-static method readInt() cannot be referenced from a static context


Ist bestimmt irgendwas triviales, aber ich erkenne sowas leider noch nicht, daher bitte ich euch um eure aufklärung! :)
 
Zuletzt bearbeitet:

Haave

Top Contributor
So wie es aussieht, ist die Methode readInt() nicht static, du brauchst also eine Instanz der Klasse SimpleIO (was auch immer das für eine Klasse ist), um die Methode benutzen zu können. Mach mal folgendes:
Java:
SimpleIO eingabedings = new SimpleIO(); //erzeugt eine Instanz der Klasse SimpleIO
zahl = eingabedings.readInt(); //die Instanz benutzt die Methode
 

nrg

Top Contributor
readInt ist keine statische Methode. D.h. du musst erst eine Instanz von der Klasse SimpleIO erzeugen, um diese Methode auszuführen. Nachdem man nicht weiß, was das für eine Klasse ist, kann man den Code imho nur vermuten:

SimpleIO io = new SimpleIO();
zahl = io.readInt();

Könnte natürlich auch sein, dass SimpleIO keinen parameterlosen Konstruktor besitzt. Aber das wirst du dann schon sehen :).

Kannst es aber auch lassen und Scanner oder einen BufferedReader instanziiert mit einem InputStreamReader nehmen.
 

joule

Mitglied
readInt ist keine statische Methode. D.h. du musst erst eine Instanz von der Klasse SimpleIO erzeugen, um diese Methode auszuführen. Nachdem man nicht weiß, was das für eine Klasse ist, kann man den Code imho nur vermuten
den quellcode von SimpleIO habe ich, und habe die datei SimpleIO.java in mein verzeichnis, wo der quellcode des oben aufgeführten programms ist kopiert - war das richtig? :autsch:
 

Haave

Top Contributor
den quellcode von SimpleIO habe ich, und habe die datei SimpleIO.java in mein verzeichnis, wo der quellcode des oben aufgeführten programms ist kopiert - war das richtig? :autsch:
Das sollte stimmen. :) (auch wenn ich nicht ganz verstehe, warum man eine Instanz von dieser Klasse erzeugen muss, wenn das Ding doch "simple" sein soll)
 

nrg

Top Contributor
zeig mal deinen jetzigen code und die Klasse SimpleIO (zumindest die Konstruktoren). so kann man nur raten :)
 

joule

Mitglied
das ist der quellcode von SimpleIO:

Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;

public final class SimpleIO {
    /* BufferedReader fuer den InputStream aus der */
    /* der Konsole, verwendet fuer die Eingabe */
    private static BufferedReader konsole = new BufferedReader(
            new InputStreamReader(System.in));

    /* Konstanten fuer Fehlermeldungen */
    private static final String IOError = "FEHLER: bei der Eingabe!";
    private static final String ChError = "FEHLER: leere Char-Eingabe!";
    private static final String NFError = "FEHLER: keine Zahl oder Zahl im falschen Format eingegeben!";

    /* allgemeine Methoden */

    public static int[] getRandomIntArray() {
        Random r = new Random();
        int[] randomArray = new int[(r.nextInt() % 10)];
        for (int i = 0; i < randomArray.length; i++) {
            randomArray[i] = (r.nextInt() % 100);
        }
        return randomArray;
    }

    public static int getInt() {
        /* Liest einen Int-Wert von der Konsole ein und gibt */
        /* diesen an die aufrufende Klasse/Methode zurueck */
        /* Im Falle einer fehlerhaften Eingabe wird die Zahl 0 */
        /* zurueckgeliefert und eine Fehlermeldung ausgegeben. */

        int zahl = 0;
        try {
            zahl = java.lang.Integer.parseInt(konsole.readLine());
        }
        // Faengt die IO-Fehler der Methode readLine() auf
        catch (IOException e) {
            System.out.println(IOError);
        }
        // Faengt die Exception der Methode parseInt auf;
        // es wurden keine als Integer interpretierbaren
        // Werte eingegeben
        catch (NumberFormatException e) {
            System.out.println(NFError);
        }
        return zahl;
    }

    public static double getDouble() {
        /* Liest einen Double-Wert von der Konsole ein und gibt */
        /* diesen an die aufrufende Klasse/Methode zurueck */
        /* Im Falle einer fehlerhaften Eingabe wird die Zahl 0 */
        /* zurueckgeliefert und eine Fehlermeldung ausgegeben. */

        double zahl = 0;
        try {
            zahl = java.lang.Double.parseDouble(konsole.readLine());
        }
        // Faengt die IO-Fehler der Methode readLine() auf
        catch (IOException e) {
            System.out.println(IOError);
        }
        // Faengt die Exception der Methode parseInt auf;
        // es wurden keine als Double interpretierbaren
        // Werte eingegeben
        catch (NumberFormatException e) {
            System.out.println(NFError);
        }
        return zahl;

    }

    public static String getString() {
        /* Liest einen String von der Konsole ein und gibt */
        /* diesen an die aufrufende Klasse/Methode zurueck. */
        /* Im Falle einer fehlerhaften Eingabe, wird der */
        /* leere String zurueck gegeben. */

        String zeile = "";
        try {
            zeile = konsole.readLine();
        }
        // Faengt die IO-Fehler der Methode readLine() auf
        catch (IOException e) {
            System.out.println(IOError);
        }
        return zeile;
    }

    public static char getChar() {
        /* Liest ein Character von der Konsole ein und gibt */
        /* diesen an die aufrufende Klasse/Methode zurueck. */
        /* Im Falle einer fehlerhaften Eingabe wird das leere */
        /* Character zurueckgegeben. */
        /* Wird mehr, als nur ein Zeichen eingegeben, so wird */
        /* nur das erste Zeichen beruecksichtigt. */

        char zeichen = '\u0000';
        String zeile = "";
        try {
            zeile = konsole.readLine();
            if (zeile.length() > 0) {
                zeichen = zeile.charAt(0);
            } else {
                System.out.println(ChError);
            }
        }
        // Faengt die IO-Fehler der Methode readLine() auf
        catch (IOException e) {
            System.out.println(IOError);
        }
        return zeichen;
    }
}
 

nrg

Top Contributor
die Klasse besitzt die Methode readInt() nicht... Sollte wohl getInt() heissen.

Allerdings ist dann deine Fehlermeldung widersprüchlich. Müsste dann eher sowas in der Art sein: "cannot find symbol..."
 

Haave

Top Contributor
wenn ich statt readInt() getInt() schreibe
kommt die fehlermeldung cannot find symbol >.<
Zeig bitte mal deinen jetzigen Quelltext. Hast du nun nur
Code:
getInt()
geschrieben oder wie oben beschrieben mit einem Objekt und Punktoperator (also
Code:
eingabedings.getInt()
)?

Edit: Sorry, hab überlesen, dass getInt() static ist. Hier sollte also eigentlich
Code:
SimpleIO.getInt()
funktionieren! :bahnhof:
 

nrg

Top Contributor
ja.. das muss funktionieren :).

hast du sicher die selbe Klasse, die du uns auch gepostet hast? Anhand der Fehlermeldungen kann das nämlich garnicht sein.
 

joule

Mitglied
mein code sieht jetzt so aus
Java:
 public class Division
{
    public static void main(String args[])
    {
        int zahl;
        int erg;
        
        System.out.println("Bitte eine ganze Zahl eingeben:");
        zahl = SimpleIO.getInt();
        erg = zahl / (zahl-2);
        System.out.println(erg);
        
    }
}

Und ich bekomme in der zeile

[JAVA=9]zahl = SimpleIO.getInt();[/code] cannot find symbol
 

jgh

Top Contributor
wenn deine Klassen [c]Division[/c] und [c]SimpleIO[/c] im selben, oder im gleichen^^ Package liegen, sollte das eigentlich nicht passieren.

Ich kann dein Programm ohne Probleme ausführen, wobei das Ergebnis natürlich merkwürdig ist...aber so willst du das wahrscheinlich haben, oder?
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

importierst Du denn die Klasse "SimpleIO" in "Division" ???:L

Als Tipp:
links in der Spalte mit den Zeilennummern sollte bei dem Fehler ein kleines rotes Symbol stehen!
Wenn Du dort mit der rechten Maustaste drauf klickst, geht ein Kontextmenu auf, in dem Du sowas wie "Quick Fix" findest (Tastenkürzel Ctrl+1)!
Hiermit bekommt Du Vorschläge zu Fehlerbehebung, die meist weiterhelfen !

Gruß
Klaus
 

nrg

Top Contributor
Moin,

importierst Du denn die Klasse "SimpleIO" in "Division" ???:L

habe die datei SimpleIO.java in mein verzeichnis, wo der quellcode des oben aufgeführten programms ist kopiert

links in der Spalte mit den Zeilennummern sollte bei dem Fehler ein kleines rotes Symbol stehen!

glaube nicht, dass er eine IDE benutzt.

@to nachdem nichts bei dir geholfen hat, hab ichs sogar gestern noch selbst ausprobiert. funktioniert wunderbar. entweder hast du die falsche SimpleIO oder noch eine andere oder ka..
 

ARadauer

Top Contributor
btw:
Java:
float erg; //ein ergebnis einer division soll wirklich ein int sein?      
      System.out.println("Bitte eine ganze Zahl eingeben:");
      zahl = SimpleIO.getInt();
      erg = zahl / (float)(zahl-2); //dividend auf float kasten, sonst kommt als ergebnis immer int raus int/int = int
      System.out.println(erg);
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
CT9288 Mini Anfänger-Problem mit loops, statements und ; Java Basics - Anfänger-Themen 4
D Anfänger-Problem mit dem HalloWelt-Programm Java Basics - Anfänger-Themen 5
J Anfänger hat Problem mit seinen Beet Java Basics - Anfänger-Themen 12
N Anfänger Problem Java Basics - Anfänger-Themen 4
K Anfänger If / Else Problem Java Basics - Anfänger-Themen 5
K Kleines Anfänger Problem bei der Abfrage Java Basics - Anfänger-Themen 8
Spin KI Anfänger Frage : Timer Problem Java Basics - Anfänger-Themen 6
StupidAttack Logisches Problem (Blutiger Anfänger) Java Basics - Anfänger-Themen 5
K Anfänger problem Sortieren Java Basics - Anfänger-Themen 2
B in & out class problem (java anfängeR) Java Basics - Anfänger-Themen 5
S (Anfänger) problem Programm lässt sich nicht öffnen! Java Basics - Anfänger-Themen 6
Z Anfänger Problem mit Properties Java Basics - Anfänger-Themen 8
J Anfänger-Problem: Rechnen mit Java Java Basics - Anfänger-Themen 3
T Blutiger Anfänger mit Array Problem Java Basics - Anfänger-Themen 8
G Anfänger: Problem mit Date Java Basics - Anfänger-Themen 3
T Anfänger Problem eine Liste in ein XML-File zu schreiben Java Basics - Anfänger-Themen 3
B Anfänger Problem mit length Java Basics - Anfänger-Themen 15
X Anfänger Problem mit Schleife Java Basics - Anfänger-Themen 3
M PircBot Java Anfänger Problem Java Basics - Anfänger-Themen 18
E Anfänger Problem mit Thread.sleep() Java Basics - Anfänger-Themen 11
H Anfänger Problem mit Netbeans Java Basics - Anfänger-Themen 9
B OOP was heißt objektorientiertes Programmieren (fragt ein absoluter Anfänger) Java Basics - Anfänger-Themen 17
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
R Anfänger: Ausgabe kommt minus raus? Java Basics - Anfänger-Themen 6
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
H Threads Anfänger Java Basics - Anfänger-Themen 17
C Erste Schritte Anfänger Verständnisfrage zum Compiler Java Basics - Anfänger-Themen 31
J Anfänger, Fehler; "Der Hund liegt begraben" Java Basics - Anfänger-Themen 3
K Buchstabenzähler Java (Anfänger) Java Basics - Anfänger-Themen 35
E Kleines Java-Projekt für Anfänger Java Basics - Anfänger-Themen 10
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
ehmo würfelspiel programmieren anfänger Java Basics - Anfänger-Themen 1
L Anfänger braucht Hilfe - Stecke beim Lernen fest Java Basics - Anfänger-Themen 10
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
_Zabuza_ Erste Schritte Wie am effektivsten Java lernen als Anfänger? Java Basics - Anfänger-Themen 12
T Roulette für Anfänger Java Basics - Anfänger-Themen 7
T Java Anfänger mit konkreten Fragen Java Basics - Anfänger-Themen 2
K Java Anfänger Java Basics - Anfänger-Themen 5
F Hilfe für einen Anfänger! Java Basics - Anfänger-Themen 4
S Ein Java Anfänger braucht Hilfe Java Basics - Anfänger-Themen 5
P Übungsaufgaben für Anfänger? Java Basics - Anfänger-Themen 2
Z Unklarheit bei Übungsaufgabe [Anfänger] Java Basics - Anfänger-Themen 22
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
O Anfänger, Verständnisfrage Java Basics - Anfänger-Themen 3
F Hilfe, bin Anfänger! Java Basics - Anfänger-Themen 4
R Erste Schritte Materialien für Java-Anfänger Java Basics - Anfänger-Themen 7
Koookie Kleines Frage - Antwort Programm (Anfänger) Java Basics - Anfänger-Themen 5
F Studium aufgabe ...Anfänger sucht hilfe :D Java Basics - Anfänger-Themen 24
F Anfänger braucht Hilfe :) Java Basics - Anfänger-Themen 3
F Abrechnungsprogramm erstellen Student (Anfänger) Java Basics - Anfänger-Themen 2
D Anfänger braucht Hilfe Java Basics - Anfänger-Themen 2
J Musikplayer zu schwer für Anfänger? Java Basics - Anfänger-Themen 3
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
Textsurfer Methoden Anfänger * Java Basics - Anfänger-Themen 5
G Ein paar Anfänger Fragen zu StdDraw Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
C verwirrter Anfänger Java Basics - Anfänger-Themen 6
L Verzinsungsprogramm (Java-Anfänger) Java Basics - Anfänger-Themen 3
T Datentypen enum static Chaos (blutiger anfänger) Java Basics - Anfänger-Themen 5
I if/else Statements Java Anfänger Java Basics - Anfänger-Themen 14
D Anfänger-Fragen(Parameter einer Methode) Java Basics - Anfänger-Themen 7
H Schleifen (anfänger) Java Basics - Anfänger-Themen 13
H Methoden Bluej Anfänger Java Basics - Anfänger-Themen 13
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
S Compiler-Fehler Anfänger sucht Hilfe. Fehler beim Compilieren Java Basics - Anfänger-Themen 6
V Erste Schritte Java-Anfänger braucht Hilfe bei Arrays Java Basics - Anfänger-Themen 19
V Array mit Zufallszahlen - Anfänger - Hilfe Java Basics - Anfänger-Themen 12
D Compiler-Fehler Anfänger Fehlermeldung Java Basics - Anfänger-Themen 3
das_leon if als Auswahl (Anfänger) Java Basics - Anfänger-Themen 1
GoodGuy [Anfänger] Kann mal wer drüber gucken? Java Basics - Anfänger-Themen 3
R Erste Schritte Anfänger Probleme bei AnimationDrawable Java Basics - Anfänger-Themen 0
J Kleiner Taschenrechner! Anfänger braucht Hilfe :( Java Basics - Anfänger-Themen 2
C Taxiwarteschlange - Anfänger Java Basics - Anfänger-Themen 2
J Fehlermeldung : cannot invoke char(at) int on the primitive type int --- Anfänger Java Basics - Anfänger-Themen 5
I Java, Application, Eclipse (Anfänger) Java Basics - Anfänger-Themen 1
M Java Anfänger - Video Tutorial Reihe (DEUTSCH) Java Basics - Anfänger-Themen 11
C Anfänger: Array + Klasse Java Basics - Anfänger-Themen 5
S OOP Uhrenanzeige programmieren, Achtung Anfänger! Java Basics - Anfänger-Themen 9
B Compiler-Fehler Ein Java-Eclipse-Anfänger geht auf Reisen... Java Basics - Anfänger-Themen 10
A 2 kurze Anfänger fragen Java Basics - Anfänger-Themen 6
I totaler Anfänger braucht Hilfe Java Basics - Anfänger-Themen 8
I Erste Schritte Bücher für Jungedliche[Anfänger] Java Basics - Anfänger-Themen 20
T Hallo anfänger braucht Hilfe :D Java Basics - Anfänger-Themen 7
C Anfänger Anfänger Fragen Java Basics - Anfänger-Themen 8
A Anfänger Taschenrechner Frage Java Basics - Anfänger-Themen 14
D error: Class names, >>>HILFE, anfänger<<< Java Basics - Anfänger-Themen 4
J Hilfe für Anfänger Java Basics - Anfänger-Themen 8
E OOP Methode an andere Methode übergeben / OOP Anfänger Java Basics - Anfänger-Themen 4
Farbenfroh Exceptions Anfänger - Finde Fehler nicht Java Basics - Anfänger-Themen 7
H MergeSort (für Anfänger ) Java Basics - Anfänger-Themen 9
X Projekt Java Anfänger Java Basics - Anfänger-Themen 28
C Fehlersuche Adressbuch *Anfänger* Java Basics - Anfänger-Themen 5
C Anfänger braucht Hilfe bei Schularbeit Java Basics - Anfänger-Themen 3
J Erste Schritte Hilfe bei absolutem Anfänger-Projekt Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben