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;
}
}
このコードでは、すべての世代の後にユニコード "\ u00" + "41"または "42"に等しい名前のオブジェクトを作成しようとします。 "43"など(A、B、Cなど)。 私の問題は、 "\ u00"は "有効なユニコード"ではなくコンパイラに従っているため、正しくコンパイルされず、実行できないということです。文字列をJavaでUnicodeに連結する
コンパイルエラーを取り除くにはどうすればよいですか、またはこの問題を一般的にどのように解決すればよいですか?
ありがとうございます!
getName()は何を返しますか?このコードには、どこでも使用されないブール値、コンストラクタでインクリメントされますがどこでも使用されない整数、コンパイルされないもので初期化された名前があります。あなたは何を達成しようとしていますか?文字列をchar 0x41と連結するには、 's + =(char)0x41;' –
'' \ u00 "を削除するだけです。 – saka1029
大文字のAのUnicodeは\ u0041です。 1つのオブジェクトが(別のクラスで)生成された後、unicodeStartNameValueがインクリメントされ、\ u00が42と連結され、その結果、2番目のオブジェクトの名前がBになります。この名前を取得するために、getter getName()を作成しました。これは、文字列nameを返します。文字列は、Unicode –