tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
18
ZUGRIFFE
896
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    Ich habe folgendes Problem. Bei einer Eingabe einer Zeichenkette muss das in ein
    Feld Text[] geschehen. Wie kann ich den Wert in einen String wandeln. Um anschlißend
    jedes einzelne Zeichen des Feldes mit einen anderen Zeichen vom Typ char zu vergleichen
    und bei Gleichheit zu ersetzen.

    Viele Grüße, Michael
     

  2. #2
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    was ist denn das Feld Text[]?

    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  3. #3
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    Hallo,

    Text[] ist ein Feld vonm Typ Char.

    Viele Grüße, Michael
     

  4. #4
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Warum willst du das ganze denn in einem String haben, um einzelne Zeichen vergleichen zu können? Das kannst du so doch viel besser.

    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  5. #5
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    ich habe eine zweite Variable definiert und dort die Länge des Feldes eingelesen.

    int Anzahl = Text.length;

    durch die einzelnen Werte laufe ich mit einer for Schleife

    for (int i = 0; i <= Anzahl; i++)
    {

    Jetzt kann ich mit dem 1 Zeichen den Vergleich herstellen

    if (Text[0] == Einsatz)
    {
    System.out.println("erstes zeichen erreicht");
    }
    }

    Wie kann ich jetzt den Wert von Text[0] auf Text[1] erhöhen

    und wie kann ich bei Gleichheit den Buchstaben mit einem anderen zeichen(auch mehrere) ersetzen?

    Viele Grüße, Michael
     

  6. #6
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Ähhh warum nutzt du nicht einfach die Zählvariable der Schleife, so kannst du über das ganze Array laufen.


    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  7. #7
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    ich habe eine zweite Variable definiert und dort die Länge des Feldes eingelesen.

    int Anzahl = Text.length;

    durch die einzelnen Werte laufe ich mit einer for Schleife

    for (int i = 0; i <= Anzahl; i++)
    {

    Jetzt kann ich mit dem 1 Zeichen den Vergleich herstellen

    if (Text[0] == Einsatz)
    {
    System.out.println("erstes zeichen erreicht");
    }
    }

    Wie kann ich jetzt den Wert von Text[0] auf Text[1] erhöhen

    und wie kann ich bei Gleichheit den Buchstaben mit einem anderen zeichen(auch mehrere) ersetzen?

    Viele Grüße, Michael
     

  8. #8
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    Hallo,

    jetzt habe ich es umgestellt.

    int Anzahl = Text.length;
    //System.out.println("Zeichen: " + Anzahl);

    for (int i = 0; i <= Anzahl; i++)
    {
    if (Text[i] == Einsatz)
    {
    Text[i] = Ersatz[];
    }
    }
    System.out.println(Text);
    }

    Jetzt kommt beim Compilieren ein Fehler '.class' expected

    Viele grüße, Michael
     

  9. #9
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Das liegt aber nicht daran, dass du es umgestellt hast, sondern eher an dieser Zeile.

    Code :
    1
    
    Text[i] = Ersatz[];

    Vorher war Ersatz ein normaler char und jetzt auf einmal ein Array?

    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  10. #10
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    ich soll ein Zeichen mit einem oder mehreren anderen Zeichen ersetzen.

    und Anschließend soll ich den Wert wieder ausgeben.
     

  11. #11
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Trotzdem funkioniert es so nicht.

    Wenn Ersatz erstmal ein char ist, kann es nicht einmal ein Array sein.

    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  12. #12
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    Hallo,
    Ich habe jetzt zwei Probleme lokalisiert

    1.) ich muss für die initialisierung des Feldes einen Bereich vorgeben

    char Feld[20]

    und das geht aus irgendeinem Grund nicht.

    2.) Ich durchlaufe die einzelnen Felder und ersetzte des einen Ferldwert durch z.b eine
    größere Anzahl an Zeichen.


    /**
    * Beschreiben Sie hier die Klasse Zeichenkette.
    *
    * @author (Michael Fisel)
    * @version (07.11.2007)
    */
    import ConsoleInOut.*;
    public class Zeichenkette
    {
    public static void main (String args[])
    {
    char[] Text ;

    char Einsatz[] ;
    char Ersatz[] ;
    System.out.println();
    System.out.println("Bitte Text eingeben :");
    Text = Console.console_in_chars();
    System.out.println();
    System.out.println("Bitte geben Sie das zu ersetzende Zeichen ein : ");
    Einsatz = Console.console_in_chars();
    System.out.println();
    System.out.println("Bitte geben Sie die einzusetzende Zeichenkette ein : ");
    Ersatz = Console.console_in_chars();
    //String s = Text;
    int Anzahl = Text.length;
    //System.out.println("Zeichen: " + Anzahl);

    for (int i = 0; i <= Anzahl; i++)
    {

    //System.out.println("Zeichen: " + zeichen);
    if (Text[i] == Einsatz[])
    {
    Text[i] = Ersatz[];
    System.out.println(Text);
    }
    }

    }
    }
     

  13. #13
    RPR RPR ist offline Mitglied
    Registriert seit
    Dec 2007
    Ort
    Weesen (CH)
    Beiträge
    17
    Warum denn mit einem Array of char das machen? Java bietet doch mit String und StringBuffer zwei ganz tolle Klassen, mit denen lässt sich praktisch jede Text-Bearbeitung lösen.

    String für compare, substring, trim usw.
    StringBuffer für die Bearbeitung einzelner Zeichen (ersetzen löschen usw.)
    Und zwischen String und StringBuffer kann einfach "gewechselt" werden.
    PHP-Code:
      :
      
    String s1 "das ist mein Text";
      
    StringBuffer sb = new StringBuffer(s1);
      
    sb.insert(12"1.");
      
    String s2 sb.toString();
      : 
    Ansonsten sei auf die API (java.sun.com) verwiesen.
     

  14. #14
    FiselM FiselM ist offline Mitglied Silber
    Registriert seit
    Mar 2007
    Beiträge
    78
    Hallo,

    die Lösung mit dem String hätte ich auch, nur ich will das mit einem
    Feld machen. damit ich in die Thematik mit den Arrays und dem Datentyp char
    näher einsteige?. Viele Grüße, Michael
     

  15. #15
    RPR RPR ist offline Mitglied
    Registriert seit
    Dec 2007
    Ort
    Weesen (CH)
    Beiträge
    17
    Ist das denn bei Java relevant?
    Das brauchen doch nur mehr die C-Programmierer?
    Kommt dazu, dass in Java die Pointer nicht existieren. Und die benutzt man ja in C für solche Spiele.
    Gruss
     

Ähnliche Themen

  1. 3D Transformation
    Von tobee im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 04.08.10, 09:44
  2. XSLT XML Transformation
    Von nambrot im Forum XML Technologien
    Antworten: 1
    Letzter Beitrag: 12.07.08, 18:43
  3. XSL Transformation
    Von Tikonteroga im Forum Java
    Antworten: 0
    Letzter Beitrag: 13.07.07, 10:20
  4. PHP XSL Transformation
    Von shockshell im Forum PHP
    Antworten: 1
    Letzter Beitrag: 06.06.05, 13:04
  5. 3D-Transformation in CS?
    Von Lenhard im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 17.10.04, 16:46