String an Methode zurückgeben

Tebert47

Mitglied
Hallo,

ich bin gerade dabei, ein Java-Buch durchzuarbeiten, welches folgendes Beispiel enthält.
Java:
ublic class Springer {
    
    private int spalte;
    private int reihe;
    
    final static private String SPALTE = "abcdefgh";
    final static private String REIHE = "12345678";
    
    public Springer(String startpos) {
        if (startpos.length() != 2)
            throw new IllegalArgumentException("ungültige Startposition");
        
        spalte = SPALTE.indexOf(Character.toLowerCase(startpos.charAt(0)));
        reihe = REIHE.indexOf(startpos.charAt(1));
        
        if(spalte == -1 || reihe == -1)
            throw new IllegalArgumentException("ungültige Startposition");
        
    }public String ermittleZuege() {
        StringBuilder zuege = new StringBuilder();
        
        zuege.append(pos(spalte+2,reihe-1));
        zuege.append(pos(spalte+2,reihe+1));
        zuege.append(pos(spalte-2,reihe-1));
        zuege.append(pos(spalte-2,reihe+1));
        zuege.append(pos(spalte+1,reihe-2));
        zuege.append(pos(spalte+1,reihe+2));
        zuege.append(pos(spalte-1,reihe-2));
        zuege.append(pos(spalte-1,reihe+2));
        
        return zuege.substring(0, zuege.length()-1);
    }
    public String pos(int spalte, int reihe) {
        if(spalte<0 || spalte>7 || reihe<0 || reihe>7) {
            return "";
        }else {
            return ""+SPALTE.charAt(spalte)+REIHE.charAt(reihe)+";";
        }
        
    }
    
    }

Erstelle ich jetzt z.B. ein Objekt mit der Startposition e5 und rufe anschließend die Methode ermittleZuege() auf, wird an die Methode ein String zurückgegeben, in welchem sich die durch Semikolons getrennten Felder befinden, auf die sich der Springer bewegen darf.

Code:
g4;g6;c4;c6;f3;f7;d3;d7

Ändere ich jedoch den Code der Methode pos, indem ich das "" aus der letzten return-Anweisung entferne, wird mir Folgendes beim Ausgeben der Methode ermittleZuege() angezeigt:

Code:
155;157;151;153;153;157;151;155

Welche Rolle spielt nun das "" und warum wird beim Weglassen ein völlig falsches Ergebnis an die Methode zurückgegeben?

Danke im Voraus!

Tebert
 

fhoffmann

Top Contributor
Hier zunächst ein kleines Testbeispiel:
Java:
public class Test {
    public static void main(String[] args) {
        System.out.println('g' + '4');
        System.out.println("" + 'g' + '4');
    }
}
Buchstaben (char) werden intern als Zahlen gespeichert. So hat 'g' den Wert 103 und '4' den Wert 52. Bei der Addition werden diese Werte addiert und das Ergebnis ist 155.
Stelle ich vor die Addition ein "", so werden die char zunächst in Strings umgewandelt. Das + wird dann nicht als Addition von Zahlen sondern als Hintereinanderhängen von Strings interpretiert und das Ergebnis ist "g4".
 
K

kneitzel

Gast
Also wenn Du eine Arithmetische Operation hast, dann behandelt Java ein Char wie eine Zahl. Somit ist das "+" ohne das "" davor eine mathematische Addition von zwei Zahlen.

Wenn Du aber "" + Zahl hast, dann sieht der Compiler den String. Dadurch wird die + Operation keine Addition von Zahlen mehr sondern das Aneinanderreihen von Strings. Damit das aber klappt, wird die Zahl auch noch zu einem String umgewandelt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Methoden Methode soll String zurückgeben Java Basics - Anfänger-Themen 11
T Methode akzeptiert String nicht Java Basics - Anfänger-Themen 18
MoxMorris Wie macht man String[] = String[] aus einer anderer Methode? Java Basics - Anfänger-Themen 18
H Zu langen String aufteilen - bequeme Methode? Java Basics - Anfänger-Themen 14
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
schredder Strings und reguläre Ausdrücke - Methode mit return string.matches Java Basics - Anfänger-Themen 5
H String Repräsentation eines Rechtecks mit Instanz-Methode Java Basics - Anfänger-Themen 8
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
Z Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String Java Basics - Anfänger-Themen 14
M String außerhalb der main-Methode Java Basics - Anfänger-Themen 4
C Java String Methode Java Basics - Anfänger-Themen 6
D Methode mit Übergabe double und Rückgabe String Java Basics - Anfänger-Themen 2
J String Methode chars() Java Basics - Anfänger-Themen 8
F Ein Datum (int) durch Methode als String formatieren Java Basics - Anfänger-Themen 2
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
O String Methode für längste Sequenz von Leerzeichen Java Basics - Anfänger-Themen 35
geekex Double zu String umwandeln in einer Methode Java Basics - Anfänger-Themen 28
J String splitten und weiter einarbeiten in einer Methode? Java Basics - Anfänger-Themen 11
V Methoden Rekursive Methode mit String als Rückgabe Java Basics - Anfänger-Themen 7
S Datentypen Mit einer Methode String arrays geben Java Basics - Anfänger-Themen 9
G Variabel: Nach String benannte Methode ausführen Java Basics - Anfänger-Themen 13
T String toString methode nicht vererbt ... Java Basics - Anfänger-Themen 4
M Möglich? Methode aufrufen deren Bezeichner zur Laufzeit durch einen überg. String festgelegt wird Java Basics - Anfänger-Themen 3
TheSorm String zu Methode machen Java Basics - Anfänger-Themen 1
S equals Methode bei String Java Basics - Anfänger-Themen 5
P Methode die String auf Zeichen überprüft Java Basics - Anfänger-Themen 2
F String wird richtig in konsole geschrieben aber falsch an Methode übergeben Java Basics - Anfänger-Themen 8
W Schlüsselworte Methode, die die grösste Zahl aus einem String ermittelt und zurückgibt Java Basics - Anfänger-Themen 8
G Methoden String übergeben in Methode Java Basics - Anfänger-Themen 17
S Methode contains beim String Java Basics - Anfänger-Themen 2
N String kombinieren - Methode Java Basics - Anfänger-Themen 5
M Methoden Methode als String übergeben, dann aufrufen? Java Basics - Anfänger-Themen 13
M OOP Methode überschreiben mit String-Paramter unterschiedlicher Größe? Java Basics - Anfänger-Themen 19
G Erste Schritte String fs. Methode Java Basics - Anfänger-Themen 9
N Methode die String in char-Array wandelt!! Java Basics - Anfänger-Themen 11
K String und Zahl in Methode übergeben Java Basics - Anfänger-Themen 11
S Main Methode String... args Java Basics - Anfänger-Themen 2
W OOP Methode mit String von this Java Basics - Anfänger-Themen 3
V Datentypen Methode gesucht, String zu Double mit Rechenoperatoren Java Basics - Anfänger-Themen 11
M Frage zur Methode Action.putValue(String,Object) Java Basics - Anfänger-Themen 5
S Datentypen String mit fester Länge (Rückgabewert einer Methode) Java Basics - Anfänger-Themen 2
N main Methode und String Java Basics - Anfänger-Themen 11
H String in Methode einer anderen Klasse übergeben Java Basics - Anfänger-Themen 5
J String Methode Java Basics - Anfänger-Themen 7
A string an methode übergeben Java Basics - Anfänger-Themen 9
F String split-Methode Java Basics - Anfänger-Themen 12
P Methode um einen String zu überprüfen Java Basics - Anfänger-Themen 12
T Klasse String enthält Methode value? Java Basics - Anfänger-Themen 2
I neue Methode zu Classe z.B. String hinzufügen Java Basics - Anfänger-Themen 7
G String mit next()-Methode einlesen - keine Leerzeichen! Java Basics - Anfänger-Themen 11
D Probleme mit der String Methode replace() Java Basics - Anfänger-Themen 4
F String Methode subString() Java Basics - Anfänger-Themen 7
krgewb String mit Datumsangabe in Long umwandeln Java Basics - Anfänger-Themen 2
D String Groß/Kleinschreibung Ignorieren Java Basics - Anfänger-Themen 4
D Map<String, Integer> sortieren und der reinfolge nach die Glieder abfragen Java Basics - Anfänger-Themen 3
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
Kartoffel_1 String transformation Java Basics - Anfänger-Themen 7
H String-Operation replace() - Zeichenkette verdoppeln Java Basics - Anfänger-Themen 2
K String analysieren Java Basics - Anfänger-Themen 27
Beowend String zu Date parsen Java Basics - Anfänger-Themen 1
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
I Sass Compiler und String erhalten? Java Basics - Anfänger-Themen 7
Avalon String in Double bzw. Währung konvertieren Java Basics - Anfänger-Themen 6
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
E String zerlegen aus args Java Basics - Anfänger-Themen 1
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
J String Filter Java Basics - Anfänger-Themen 5
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Größter zusammenhängender Block gleicher Zeichen im String Java Basics - Anfänger-Themen 1
XWing Randomizer mit einem String Java Basics - Anfänger-Themen 2
D 2D Char Array into String Java Basics - Anfänger-Themen 2
H Cast von Float nach String klappt nicht Java Basics - Anfänger-Themen 12
I Zerlegen von String Java Basics - Anfänger-Themen 3
B Beliebiger String gegeben Suche Datum in String Java Basics - Anfänger-Themen 6
I String Java Basics - Anfänger-Themen 4
I API - zurückgegebener JSON String lesen und in Entity konvertieren Java Basics - Anfänger-Themen 2
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
M Kommandozeilenparamter als EINEN String werten Java Basics - Anfänger-Themen 5
M RandomAccessFile int und String gleichzeitig in einer Datei Java Basics - Anfänger-Themen 49
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
Distanz zwischen zwei Zeichenfolgen in einem String bestimmen Java Basics - Anfänger-Themen 5
Substring in einem String finden Java Basics - Anfänger-Themen 13
BeginnerJava String mit vorgegebener Länge und Buchstaben erzeugen/ mit Leerstellen Java Basics - Anfänger-Themen 8
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
JavaBeginner22 Integer in String umwandeln Java Basics - Anfänger-Themen 7
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben