Erste Schritte Eigene charAt(i) Methode schreiben

Diskutiere Eigene charAt(i) Methode schreiben im Java Basics - Anfänger-Themen Forum; Guten Tag, wir hatten nun diese Woche Strings in der Vorlesung und ich brauche im Umgang mit String und char mehr Übung also habe ich mich...

  1. ocsme
    ocsme Mitglied
    Guten Tag,

    wir hatten nun diese Woche Strings in der Vorlesung und ich brauche im Umgang mit String und char mehr Übung also habe ich mich gefragt wie kann ich eigene Methoden schreiben :) "Die gibt es zwar schon das macht aber ja nichts :)"

    Somit gebe ich ja einfach jeden einzelnen Char aus meinem String aus!
    Code (Java):
            String a="Java";
            for(int i=0;i<a.length();i++) {
                char tmp=a.charAt(i);
                System.out.print(tmp);
            }
            System.out.println();
    Nun habe ich mich gefragt wie die Methode funktioniert und will sie nach Programmieren doch wenn ich Ehrlich bin finde ich keinen Ansatz. Klar weiß ich wie sie Funktioniert. Sie schaut sich an jedem Index des Strings den Char an. Doch gibt es eine Möglichkeit das Objekt String zu untersuchen ohne die vordefinierten Mehtoden zu benutzen?

    Also wie bekomme ich in meiner for-Schleife mein String auseinander genommen in jeden einzelnen Buchstabe OHNE vordefinierte Methoden? Geht das in Java vielleicht überhaupt nicht? Denn in C hab ich ja ein Char-Array das ich selbst schreibe und dann darauf meine Methoden schreibe :)
    Ich hatte noch kein C und auch noch keine Arrays! Das weiß ich nur so :p

    Kann mir da jemand vielleicht weiter Helfen?

    LG
     
  2. Vielleicht hilft dir dieses Training hier weiter.
  3. httpdigest
    httpdigest Aktives Mitglied
    Code (Java):
    char[] charArray = a.toCharArray();
    for (int i = 0; i < charArray.length; i++)
      System.out.print(charArray[i]);
    käme dem wohl am nächsten. Ansonsten: Nein, du kommst nicht ohne weiteres ohne eine String-Methode zu benutzen an das char[] Array in einem String heran.
     
    ocsme gefällt das.
  4. Robat
    Robat Bekanntes Mitglied
    Du wirst nicht drumherum kommen, aus dem String ein char-Array zu machen (zB mit String#toCharArray() oder String#split(String) ).
     
    ocsme gefällt das.
  5. ocsme
    ocsme Mitglied
    Okay also bin ich nicht zu doof sondern es geht so einfach nicht :p

    Danke für die super schnelle und Liebe Antwort von euch beiden :)

    Vielleicht findet sich ja noch jemand der es anders hin bekommen hat. Ansonsten ist die Frage beantwortet :)
    Ich hätte jetzt noch eine weitere Stunde dran rum gefummelt um fest zu stellen das ich nach ca. 3 Stunden kein Ergebnis erziehle :D Ja ich hab 2 Stunden damit rum Probiert :D Versuch macht Klug :p

    DANKE NOCHMALS
     
  6. DerWissende
    DerWissende Bekanntes Mitglied
    Es geht nicht so fix / flink, weil Strings immutable sind.:(
     
  7. ocsme
    ocsme Mitglied
    Gestern Nacht ist mir noch etwas eingefallen doch das bekomme ich leider auch nicht hin.
    Ich möchte sehr gerne ja meine Eigene charAt Methode schreiben. Das wollte ich über char[] charArray = a.toCharArray(); machen doch wie bekomme ich den Aufrufer in meine Methode?

    also String a soll nun der Aufrufer werden! Geht das oder klappt das immer nur mit eigenen Objekten/Klassen?
    Code (Java):
        char myCharAt(int i) {
            String a="Java";
            char[] charArray = a.toCharArray();        
            return charArray[i];
        }
     
  8. mihe7
    mihe7 Bekanntes Mitglied
    Code (Java):

    class MyString {
        private char[] characters;
        public MyString(String v) {
            this.characters = v.toCharArray();
        }

        public charAt(int i) {
            return characters[i];  
        }

        @Override
        public String toString() { return new String(characters); }
    }
     
    Der Sinn des Ganzen erschließt sich mir jedoch nicht.

    Nachtrag: man sollte die Kommentare bis zum Ende lesen...
    Entweder übergibst Du den String an Deine Methode (die hat dann eben zwei Parameter) oder Du brauchst eine eigene Klasse. Theoretisch könntest Du den String/die Characters auch an anderer Stelle in einer Instanzvariable speichern und in myCharAt auf diese zugreifen.
     
    ocsme gefällt das.
  9. ocsme
    ocsme Mitglied
    Danke ich hab mir es auch mal angesehen wie es in der String.java gemacht wird:
    Code (Java):
       public char charAt(int index) {
            if ((index < 0) || (index >= value.length)) {
                throw new StringIndexOutOfBoundsException(index);
            }
            return value[index];
        }
    So hatte ich es mir gedacht doch so einfach geht es ja nicht da wir kein Zugriff drauf haben :D
    Jetzt habe ich noch eine Frage in der String.c stehen zwei includes drin den einen Finde ich aber nicht:

    Code (C):
    #include "jvm.h"
    #include "java_lang_String.h"
    Ich finde die Datei java_lang_String.h nicht! Wieso? Und wo müssen die Dateien liegen wenn ich sie #include?

    Danke wieder für eure Antwort :) Werde das aber einstellen und lieber andere Übungen mit Strings und Char machen die MEHR SINN haben :)

    Wollte ja nur ÜBEN :)
     
  10. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    Die haben nichts mit der Java-String-Klasse zu tun (zumindest nicht mit dem Teil, der dich interessiert), du kannst sie in Java-Code auch nicht benutzen., sondern müssest dann deine eigene JVM kompilieren...

    Das was @mihe7 vorgeschlagen hat, ist die in deinem Fall passendste Variante.
     
    ocsme gefällt das.
  11. mihe7
    mihe7 Bekanntes Mitglied
    Dürften generiert werden. Probier mal javah java.lang.String
     
    ocsme gefällt das.
  12. Wenn du Java lernen möchtest, empfehlen wir dir dieses Online-Training hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Eigene charAt(i) Methode schreiben - Ähnliche Themen

Eigene Methode um alle Ausgaben aufzurufen
Eigene Methode um alle Ausgaben aufzurufen im Forum Java Basics - Anfänger-Themen
Eigenes IDE entwickeln
Eigenes IDE entwickeln im Forum Plauderecke
Eigene Api erstellen und dann auch verwenden - Ordnerstruktur
Eigene Api erstellen und dann auch verwenden - Ordnerstruktur im Forum Allgemeine Java-Themen
ArrayList in eigener Klasse erzeugen mit Zugriff
ArrayList in eigener Klasse erzeugen mit Zugriff im Forum Java Basics - Anfänger-Themen
Eigener Validierungseditor?
Eigener Validierungseditor? im Forum Java Basics - Anfänger-Themen
Thema: Eigene charAt(i) Methode schreiben