なぜ私はこれを行うことができませんでしたか、どうすれば CPP のようにできますか?
public static void main(String args[])
{
String n = "ABCDEFG";
for(int i=0;i<n.length();i++){
System.out.println(n[i]);
}
}
コンパイルすると、「式の型は配列型でなければなりませんが、文字列に解決されました」と表示されました。
関数を使用してcharAt
a の文字にアクセスしますString
。MrSmith42 が言及しているように、[]
演算子のオーバーロードは C++ では可能ですが、Java では可能ではstd::string
ありませんString
System.out.println(n.charAt(i));
String
は配列ではないためです。
ただし、char
配列に変換して、次のように foreach ループを使用して循環させることができます。
for (char c: n.toCharArray())
System.out.println(c);
Java は、C++ のように演算子のオーバーロードを許可しません。したがって、[] 演算子は文字列では使用できません。
System.out.println(n.charAt(i);
String
オブジェクトは、C++ のような演算子のオーバーロードをサポートしていません。あなたが使用することができます
System.out.println(n.charAt(i));