Zum Inhalt springen

int, boolean in ein String umwandeln??? geht das??


gicio

Empfohlene Beiträge

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()  );

		}

	}






}

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...