Interface



  • Hi

    Erstmal Danke an Ingo aka Desert Hawk du hast mir dank deiner Beispiele gezeigt wo mein Denkfehler lag. Ich speichere in dem Array ja nur den "Zeiger auf das Objekt" und nicht Sätze wie "Hallo Welt" usw.
    Wie dumm von mir. Lag wohl daran das wir letzte Woche Strings hatten 🙂

    Zu der GdI-Bezeichnung
    Ich weiß das in Mainz in der GdI Vorlesung Endliche Automaten das Thema sind.
    Aber das ist ja sowas von Langweilig. Da ist doch eine handfeste Programmiersprache 1000mal besser, oder ????

    ciao



  • Nein ist es nicht ... außer ihr habt ein paar Semester Theoretische Informatik noch dazu



  • Schade 😃 😉 :p :p 🙂 😃 🕶



  • Noch eine letzte Frage ...

    Wie bekomme ich einen Array zu einem String

    das geht nicht

    array.toString();

    das Beispiel von Ingo... auch nicht:
    public String toString()
    {
    String ergebnis =" ";
    for(int i=0; i<tmp.length; i++)
    {
    ergebnis = ergebnis + tmp[i];
    }
    return ergebnis;
    }

    und meine AKTUELLE implementierung geht auch nicht:
    public String toString()
    {
    String temp=new String();
    for(int i=0;!(tmp[i]==null);i++)
    {
    if(tmp[i].getClass().getName().equals("java.lang.String")){
    temp=temp+tmp[i];
    }
    else
    {
    temp=temp+tmp[i].getClass().getName();
    }
    }
    return temp;
    }

    Hat jemand eine Idee wie es funktionieren könnte.
    Wäre nett wenn jemand Helfen könnte.

    Ciao

    JAVA RULEZ IN GDI


  • Mod

    Original erstellt von <Weichei>:
    **
    Wie bekomme ich einen Array zu einem String
    **

    Was soll denn in dem String stehen?



  • es ist so ein Array

    Object[] tmp=new Object[20];

    Methode in der Klasse:

    public boolean add(Object obj){
    tmp[index]=obj;
    index++;
    return true;
    }

    MAIN METHODE:

    public static void main(String[] args){
    System.out.println("Das Ergebnis des Tests:");
    String x="star";
    String y="wars";
    Integer z=new Integer(2);
    Integer w=new Integer(10);
    BagImpl aBagImpl=new BagImpl();
    aBagImpl.add(x);
    aBagImpl.add(z);
    aBagImpl.add(w);
    aBagImpl.add(y);
    ...



  • Original erstellt von <Weichei>:
    **
    das Beispiel von Ingo... auch nicht:
    public String toString()
    {
    String ergebnis =" ";
    for(int i=0; i<tmp.length; i++)
    {
    ergebnis = ergebnis + tmp[i];
    }
    return ergebnis;
    }
    **

    Das Beispiel bezog sich auch nur auf ein char-Array 🙂

    Aber:

    public String toString()
      {
       String ergebnis = "";
       for(int i=0; i<tmp.length; i++)
       {
         ergebnis += tmp[i].toString();
       }
       return ergebnis;
      }
    

    müßte gehen.

    das ganze kannst du dann ja noch formatieren, zB:

    ergebnis += tmp[i].toString()+" ";
    

    oder

    ergebnis += tmp[i].toString()+"\n";
    

    etc...

    MfG Ingo

    [ Dieser Beitrag wurde am 14.01.2003 um 22:10 Uhr von Ingo aka Desert Hawk editiert. ]



  • Also wenn ich das so eingebe, dann compiliert es zwar jedoch kommt dann beim Ausführen:
    Das Ergebnis des Tests:
    The limit of the objects is 20
    The size is: 4
    Exception in thread "main" java.lang.NullPointerException
    at BagImpl.toString(BagImpl.java:40)
    at BagImpl.main(BagImpl.java:114)
    Press any key to continue...



  • das liegt sicherlich daran, dass du versuchst auf null.toString(); zuzugreifen.
    was natürlich nicht klappt.
    da gibts 2 möglichkeiten:
    1.: du fragst in der for-Schleife ständig nach, ob das Object != null ist.
    2.: du machst die for-Schleife einfach nur bis zum letztem Element in deinem Array, also sowas wie: for(int i=0; i<index; i++) oder so.
    (index ist hier der Zeiger auf den nächsten freien Speicherplatz)



  • Danke für deine Erklärung.
    Haben es hinbekommen.
    Es Läuft !!!!

    Danke


Anmelden zum Antworten