Collections Problem beim import von Packages

  • Themenstarter Themenstarter KiLLerKUH
  • Beginndatum Beginndatum
K

KiLLerKUH

Gast
Hallo liebe Leute,

ich habe ein dickes Problem. Ich programmiere schon länger mit Java zwecks Uni. Nun wollte ich das erstmal Tastatureingaben einbauen, und wollte dazu die
Java:
import java.io.*;
importieren. Mein Programm soll einfach die Möglichkeit haben, dass durch eine Tastatureingabe etwas dem Programm übergeben wird. Dabei erhalte ich folgenden Fehler:

aufgabe2.java:11: cannot find symbol
symbol : method readString()
location: class aufgabe2
eing = readString();

ausgelöst durch folgenden Quelltext:

Java:
 import java.io.*;

public class aufgabe2 {
		
	public static void main(String[] args) {
		
	int monat;
	int eing;
	
	System.out.print("Bitte Monat eingeben:");
	eing = readString();

	}
}

Habe bereits JDK v6.23. neu installiert. JAVA_HOME, PATH und CLASSPATH angepasst. Leider zweifele ich daran die Packages einzubinden, habe ich etwas vergessen oder falsch gemacht?
Vielen Dank schon einmal für eure Hilfe,

Gruß Daniel
 
ich bin zwar auch noch kein Profi, aber ich versuche es mal dir zu erklären. du erzeugst ein Buffered Reader Objekt gekoppelt mit einem Input Stream Reader Objekt. wenn du daten einliest (die Methode ist so definiert : String referenz.readLine()) gibt die Methode dir immer eine Zeichen kette zurück. du kannst die natürlich in int konvertieren. dazu musst du dann folgendes machen :
Java:
public class IO
{
  public static void main(String[] args) throws IOException
  {
    BufferedReader userIn = new BufferedReader(new InputStreamReader(System.in));
    String indata;
    int eingabeZahl;

    System.out.println("Please enter an int");
    indata = userIn.readLine();                                      //Holt die eingebene Zeile als String 

    eingabeZahl = Integer.parseInt(indata);                           //WrapperKlasse INTeger
  }
}

hoffe ich konnte helfen
 
Zuletzt bearbeitet:
ich bin zwar auch noch kein Profi, aber ich versuche es mal dir zu erklären. du erzeugst ein Buffered Reader Objekt gekoppelt mit einem Input Stream Reader Objekt. wenn du daten einliest (die Methode ist so definiert : String referenz.readLine()) gibt die Methode dir immer eine Zeichen kette zurück. du kannst die natürlich in int konvertieren. dazu musst du dann folgendes machen :
Java:
public class IO
{
  public static void main(String[] args) throws IOException
  {
    BufferedReader userIn = new BufferedReader(new InputStreamReader());
    String indata;
    int eingabeZahl;

    System.out.printLn("Please enter an int");
    indata = userIn.readLine();                                      //Holt die eingebene Zeile als String 

    eingabeZahl = Int.parseInt(indata);                           //WrapperKlasse INT
  }
}

hoffe ich konnte helfen

Die Erklärung ist ganz nett, aber der Code wird nur noch mehr verwirren, vor allem weil er so nicht kompilierbar ist!
- Der InputStreamReader will natürlich auch ein InputStream haben : new InputStreamReader(System.in)
- printLn --> println
- Int.parseInt(indata); --> Integer.parseInt(indata);

Noch leichter ist das allerdings alles mit der Scanner-Klasse
Java:
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("Please enter an int");
		int eingabeZahl = sc.nextInt();
	}
 
das steht in meinem Skript von der Uni 😉. Ich hatte die Methode readString sei in den API beschrieben.
Wenn ich mein Quelltext umschreiben in:

Java:
import java.io.*;

public class aufgabe2 {
		
	public static String readString(){
	
		try {
			BufferedReader in = new BufferredReader
				(new InputStreamReader(System.in));
			String s =in.readLine();
			return s;
		}
		catch (IOException ex) {
			System.out.println( ex.getMessage() );
		}
		return null;
	}
	
	public static void main(String[] args) {
		
	int monat;
	int eing;
	
	System.out.print("Bitte Monat eingeben:");
	eing = readString();

	}
}

Wenn ich diesen Code benutze, bekomme ich folgende Fehlermeldung:

Exception in thread "main java.lang.NoClassDefFoundError: aufgabe22
Caused by: java.lang.ClassNotFoundException: aufgabe22
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknow Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unkown Source)
Could not find the main class: aufgabe22. Program will exit.
 
Zuletzt bearbeitet von einem Moderator:
... der Code ist immer noch nicht kompilierbar

BufferedReader in = new BufferredReader

vergleiche mal beide Buff*

Und
Code:
eing
ist immer noch als Integer deklariert!! int eing; --> String eing;
 
Java:
import java.io.*;

public class aufgabe2 {
		
	public static String readString(){
	
		try {
			BufferedReader in = new BufferedReader
				(new InputStreamReader(System.in));
			String s =in.readLine();
			return s;
		}
		catch (IOException ex) {
			System.out.println( ex.getMessage() );
		}
		return null;
	}
	
	public static void main(String[] args) {
		
	int monat;
	String eing;
	
	System.out.print("Bitte Monat eingeben:");
	eing = readString();

	}
}

Hatte ich schon korrigiert, Code ist kompilierbar, aber nicht ausführbar.
 
Ok nochmal von vorne:
- wie sieht jetzt dein Code/deine .java Datei aus ?
- wie kompilierst du? (wird auch eine .class Datei erstellt? )
- wie probierst du die Anwendung zu starten?
 

Zurück
Oben