2016-04-28 11 views
1

こんにちは、私はEnchanced for loopsとStringsについて問い合わせたいと思っていました。文字列のForループをEnchanced

public static void main(String args[]){ 
int[] squares = {0,1,3,4,5} 
for(int i = 0; i < squares.length; i++) 

for (int i : squares) 

を次のようにあなたはそれを強化ループを作ることができますが、私は両方を行う方法を知りたいと思った:

だから私は、int型のためにループのようにあることを知っています定期的なforループと文字列のforループをenchanced?

+1

正確に何を繰り返していますか?配列内の 'String'または複数の' String'の文字は?また、Java 8以降では、 'Stream'を使用することができます。 –

答えて

4

拡張forループは、iterable型またはtypeのオブジェクトが配列の場合にのみ機能します。

Stringは反復型ではありません。あなたは何ができるか

され、それは文字列配列であれば、あなたは、単に文字列にデータ型を変更することができます文字列からchar型の配列を取得し、

for (char c : str.toCharArray()) { 


} 

としてそれを繰り返します。だから、強化と呼ばれる

String[] names = {"John","Jack","Bob","Tracey","Cindy"}; 
for(int i = 0; i < names.length; i++) { 
    System.out.println(names[i]); 
} 

::非常に同じように

+0

あなたが投稿した文字列を文字配列に変更することになりますか? – fijilemon12

+0

文字列を変更することはありません。ループ処理のために、文字列を変更しません。 –

-1

String[] names = {"John","Jack","Bob","Tracey","Cindy"};  
for (String i : names) { 
    System.out.println(i); 
} 
+0

下の投票は....ですか? – DevilsHnd

+0

ありがとうございました! – fijilemon12

+0

あなたは大歓迎です;) – DevilsHnd

0

YES、のJavaの言語に関しては、絶対にそれを行うことができます。

  • たとえば、 "name"というString配列を宣言して初期化します。そしてEnchancedループを用い

    String[] names = {"Bob","Jane","Joe"}; 
    
  • :次にforループレギュラーを用い

    for(String i: names) 
        System.out.println(i); 
    
  • for(int i=0; i<names.length; i++) 
        System.out.println(names[i]); 
    
  • それぞれについて正確に同じになり生成された結果をループ:

    ここ
    Bob 
    Jane 
    Joe 
    

完全なコードは、上記の通りです。試してみてください:

public static void main(String[] args) { 

     String[] names = {"Bob","Jane","Joe"}; 

     for(String i: names) 
      System.out.println(i); 

     for(int i=0; i<names.length; i++) 
      System.out.println(names[i]);  
    } 
関連する問題