2つの文字列を比較している場合(つまり、配列はString[]
)、コードは各文字列のメモリ参照を比較していますが、これは異なります。
等しいかどうかを比較するには、メソッドString
を使用する必要がありますequals
。
for(x = 0; x < fullName.length(); x++)
{
if(fullName[0].equals(nameUpperCase[2]));
{
System.out.print("character [0] located at position [0] is lowercase");
}
if(fullName[1].equals(nameLowerCase[4]));
{
System.out.print("character [b] located at position [1] is uppercase");
}
}
また、他の回答からいくつかのアイデアを取り入れることをお勧めします。
代わりに、元の配列をchar配列に変換してString
ください...
char[] fullName = name.toCharArray();
または、指定されたインデックスでcharを取得することもできます...
for(x = 0; x < originalString.length(); x++)
{
char charAt = originalString.charAt(x);
if(Character.isUpperCase(charAt));
{
System.out.print("character [0] located at position [0] is lowercase");
}
if(Character.toUpperCase(originalString.charAt(1)) == originalString.charAt(4));
{
System.out.print("character [b] located at position [1] is uppercase");
}
}
更新された例
String
値をと比較できないことがわかったので、これが==
あなたが達成したいと思うことの実際的な例です...
String value = "This is a simple string";
for (int index = 0; index < value.length(); index++) {
String whatIs = "Unknown";
if (Character.isUpperCase(value.charAt(index))) {
whatIs = "Upper case";
} else if (Character.isLowerCase(value.charAt(index))) {
whatIs = "Lower case";
} else if (Character.isSpaceChar(value.charAt(index))) {
whatIs = "Space";
} else if (Character.isDigit(value.charAt(index))) {
whatIs = "Digit";
}
System.out.println("Character @ " + index + " (" + value.charAt(index) + ") is a " + whatIs + " character");
}
どの出力
Character @ 0 (T) is a Upper case character
Character @ 1 (h) is a Lower case character
Character @ 2 (i) is a Lower case character
Character @ 3 (s) is a Lower case character
Character @ 4 ( ) is a Space character
Character @ 5 (i) is a Lower case character
Character @ 6 (s) is a Lower case character
Character @ 7 ( ) is a Space character
Character @ 8 (a) is a Lower case character
Character @ 9 ( ) is a Space character
Character @ 10 (s) is a Lower case character
Character @ 11 (i) is a Lower case character
Character @ 12 (m) is a Lower case character
Character @ 13 (p) is a Lower case character
Character @ 14 (l) is a Lower case character
Character @ 15 (e) is a Lower case character
Character @ 16 ( ) is a Space character
Character @ 17 (s) is a Lower case character
Character @ 18 (t) is a Lower case character
Character @ 19 (r) is a Lower case character
Character @ 20 (i) is a Lower case character
Character @ 21 (n) is a Lower case character
Character @ 22 (g) is a Lower case character