1

なぜ私はこれを行うことができませんでしたか、どうすれば CPP のようにできますか?

public static void main(String args[])
{
     String n = "ABCDEFG";
     for(int i=0;i<n.length();i++){
           System.out.println(n[i]);
     }
 }

コンパイルすると、「式の型は配列型でなければなりませんが、文字列に解決されました」と表示されました。

4

4 に答える 4

2

関数を使用してcharAta の文字にアクセスしますString。MrSmith42 が言及しているように、[]演算子のオーバーロードは C++ では可能ですが、Java では可能ではstd::stringありませんString

System.out.println(n.charAt(i));
于 2013-01-05T15:45:57.070 に答える
2

Stringは配列ではないためです。

ただし、char配列に変換して、次のように foreach ループを使用して循環させることができます。

for (char c: n.toCharArray())
    System.out.println(c); 
于 2013-01-05T15:46:34.473 に答える
2

Java は、C++ のように演算子のオーバーロードを許可しません。したがって、[] 演算子は文字列では使用できません。

    System.out.println(n.charAt(i);
于 2013-01-05T15:46:45.713 に答える
1

Stringオブジェクトは、C++ のような演算子のオーバーロードをサポートしていません。あなたが使用することができます

System.out.println(n.charAt(i));
于 2013-01-05T15:46:06.207 に答える