public class TruthTableValue {
private boolean truthValue;
private String name = "";
private int unicodeStartNameValue = 41; /*
* we want our String always to start with A and then go up the alphabet.
* this can be done using the unicode 16.
*/
public TruthTableValue() {
truthValue = true;
name += "\u00" + Character.toString((char)unicodeStartNameValue);
unicodeStartNameValue++;
}
public String getName() {
return name;
}
}
In diesem Code, den ich versuche, ein Objekt zu haben, die ein Objekt mit einem Namen nach jeder Generation erzeugt, die auf die Unicode „\ u00“ + „41“ oder „42“ gleich oder "43" und so weiter (A, B, C und so weiter). Mein Problem ist, dass "\ u00" in Übereinstimmung mit dem Compiler kein "gültiger Unicode" ist, so dass es nicht richtig kompiliert und es auch nicht möglich ist, es auszuführen.Concatenate String in Java Unicode
Wie lösche ich den Kompilierfehler oder wie löse ich dieses Problem im Allgemeinen?
Vielen Dank im Voraus!
Was sollte getName() zurückgeben? Dieser Code hat einen booleschen Wert, der nirgendwo verwendet wird, eine Ganzzahl, die im Konstruktor inkrementiert wird, aber nirgends verwendet wird, und einen Namen, der mit etwas initialisiert wird, das nicht kompiliert wird. Was versuchst du zu erreichen? Um einen String mit dem Zeichen 0x41 zu verketten, brauchen Sie nur 's + = (char) 0x41; ' –
Entfernen' '\ u00" + '. – saka1029
Unicode für einen Großbuchstaben A ist \ u0041. Nachdem ein Objekt generiert wurde (in einer anderen Klasse), wird der UnicodeStartNameValue inkrementiert und sollte mit 42 verkettet werden, was zu einem Namen von B für mein zweites Objekt führen würde. Um diesen Namen zu erhalten, habe ich den getter getName() erstellt, der den Namen String zurückgibt, der ein Unicode –