2016-04-28 2 views
1

Привет, я хотел узнать о Enchanced for Loops and Strings.Enchanced For Loop для строки

Так я знаю, что для целых чисел для цикла как так:

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) 

, но я хотел бы знать, как сделать так регулярный для цикла и закодированный цикл для строки?

+1

Что именно вы пытаетесь итерацию? Символы 'String' или несколько' String 'в массиве? Кроме того, в Java 8+ вы можете использовать 'Stream'. –

ответ

4

Enhanced for loop работает только для типов, которые повторяются, или если объект типа является массивом.

Вы не можете сделать это, так как String не является Итерируемым типом.

Что вы можете сделать, это, получить массив символов из строки и перебирать на нем, как

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


} 

если это массив строк, вы можете просто изменить тип данных для строк.

+0

так что бы вы опубликовали изменение строки в массиве символов? – fijilemon12

+0

Это не изменит строку, только для целей цикла, которые вы делаете. –

-1

В том же образом:

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

Так называется расширение:

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

И проголосовать за ....? – DevilsHnd

+0

Большое вам спасибо! – fijilemon12

+0

Добро пожаловать;) – DevilsHnd

0

ДА, в отношении языка Java , абсолютно это может быть сделано.

  • Сначала объявить и инициализировать массив строк, называемый, например, «name».

    String[] names = {"Bob","Jane","Joe"}; 
    
  • Затем с помощью Enchanced Loop:

    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]);  
    }