20. November 200123 j Hi Ich denk das solte mit der Methode toString() gehen. So könnte das aussehen! Denk ich auf jedenfall! Sollte bei boolean und int gehen! String test = id.toString(); Cyrill
20. November 200123 j aber was mach ich wenn ich es einlesen muss und dann in ein ektorpacke? // Datei Test.java import java.util.*; import java.io.*; public class Test { public static void main (String[] args) { // Bestandsteile der Person werdern definiert // Das Objekt PersonAddress wird mit den Person zusammengefügt BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in) ); Person person01 = new Person(); PersonAddress paddress01 = new PersonAddress(); String tastatur; try { System.out.println("Bitte Geben Sie das Alter ein :"); int age = 12; Integer test = new Integer(age); String test1 = new String(); test1 = test.toString(); } catch(IOException e) { System.out.print("Fehler bei der Eingabe!"); } Vector v = new Vector(); v.addElement(person01); Enumeration e; Person currentPerson; for (e = v.elements() ; e.hasMoreElements() ; ) { currentPerson = (Person)e.nextElement(); System.out.println("Alter: " + currentPerson.age() ); } } }
20. November 200123 j Hi Ich hab noch ni mit dem gearbeitet! Aber zuhause... hab ich was, glaub ich auf jedenfall. Ich werds dann hier heute Abend posten! Cyrill
20. November 200123 j hmmmmmmmm.. ich hab es mal logisch versucht und das gemacht.: // Datei Test.java import java.util.*; import java.io.*; public class Test { public static void main (String[] args) { // Bestandsteile der Person werdern definiert // Das Objekt PersonAddress wird mit den Person zusammengefügt BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in) ); Person person01 = new Person(); PersonAddress paddress01 = new PersonAddress(); String tastatur; try { System.out.println("Bitte Geben Sie den Namen ein :"); tastatur = eingabe.readLine(); person01.setName(tastatur); System.out.println("Bitte Geben Sie die Telefonnummer ein :"); tastatur = eingabe.readLine(); person01.setTel(tastatur); System.out.println("Bitte Geben Sie das Alter ein :"); tastatur = eingabe.readLine(); Integer test = new Integer(tastatur); String test1 = new String(); test1 = test.toString(); person01.setAge(test1); } catch(IOException e) { System.out.print("Fehler bei der Eingabe!"); } Vector v = new Vector(); v.addElement(person01); Enumeration e; Person currentPerson; for (e = v.elements() ; e.hasMoreElements() ; ) { currentPerson = (Person)e.nextElement(); System.out.println("Name: " + currentPerson.name() ); System.out.println("Telefonnummer: " + currentPerson.tel() ); System.out.println("Alter: " + currentPerson.age() ); } } } aber das geht leider auch nicht!!! bekomme diese fehlermeldung: C:\Java\Project>javac Test.java Test.java:50: setAge(int) in Person cannot be applied to (java.lang.String) person01.setAge(test1); ^ 1 error gicio
20. November 200123 j Probiers mal mit setAge( Integer.parseInt(test1) ), da deine Funktion setAge eine Zahl will und kein String. Integer.parseInt() wandelt ein String in ein int-Wert um. zu der anderen Sache mit int nach String umwandeln: int x = 1; String temp=""+x; <FONT COLOR="#a62a2a" SIZE="1">[ 20. November 2001 17:26: Beitrag 1 mal editiert, zuletzt von TuTuT ]</font>
20. November 200123 j Also, 1. wenn man einen TYP int hat kann man den nicht mit der Methode toString() in einen String konvertieren, da ein int keinen Objekt ist, folglich auch keine Methoden hat. Selbiges gilt für die Typen boolean, long, float und double. Anders sieht das bei den gleichnamigen Objekten Boolean, Integer, Long, Float und Double aus, die haben Methoden, diese kann man aber nicht zusammen mit Operatoren verwenden (+-*/% etc.)! 2. Wenn ihr eine Variable vom Typ String anlegt muss man die nicht zuerst mit einem new String() füllen, wenn man eine Zeile weiter eine andere Instanz von String da reinstellt ( Integer.toString() != new String() )! Damit erzeugst Du eine Variable und stellst (losgelöst davon) eine neue Instanz von String in die Variable. Eine Zeile darunter ( test1 = new String(); ) füllst Du die Variable mit einer ANDEREN Instanz von String, damit gibt's keine Referenz mehr auf das leere String-Objekt und du der GarbageCollector schmeißt sie weg. 3. CONSTRUCTOREN BENÖTIGEN VIEL RUNTIME!!! Aus diesem Grund sollte man Constructors vermeiden wo's geht! Ich würde für das Problem der Typkonvertierung von String zu Int & revers folgendes Beispiel vorschlagen: BufferedReader br = new BufferedReader( new InputStreamReader (System.in) ); Person person01 = new Person(); PersonAddress paddress01 = new PersonAddress(); try { System.out.println("Bitte Geben Sie das Alter ein :"); String in = br.readLine(); try { int age = Integer.parseInt( in ); } catch( NumberFormatException nfe ) { System.out.println( "could not parse input!" ); } } catch( IOException ioe ) { System.out.print("Fehler bei der Eingabe!"); } Natürlich muss man sich da noch eine Schleife rumbauen um dann, wenn man den input nicht parsen konnte, eine erneute Eingabe verlangen zu können. Ich wünsche viel Spaß, und fangt endlich mal an doku zu lesen! ;-) Am besten ihr ladet euch von java.sun.com die javadoc zu eurer jdk runter (gibt's als Zip), und wenn ihr schon drauf seit gleich ein paar tutorials &somore. Cheers, Ralf
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.