2016-08-10 1 views
0

Я новичок здесь и не очень хорошо разбираюсь в программировании, но здесь, чтобы узнать. Я понимаю простой цикл для (инициализация, прерывание, приращение/декременты), но не знакомый с этим.Как это работает/читает CombineWords?

Что означает эта инициализация и завершение в цикле for? Как я должен читать это буквально?

  1. Я прохожу через аргумент сказать слово [0] = слова I, [1] = любовь, слово [2] = яблоко
  2. предложение присваивается ""
  3. ш = слова [0]
  4. предложение + = W + ""
  5. ш = слова [1]
  6. приговор + = W + ""
  7. ш = слова [2]
  8. ...
  9. прекратить
public static String CombineWords(String[] words) { 
    String sentence = ""; 
    for (String w : words) { 
     sentence += w + " "; 
    } 
    return sentence; 
} 

А вот как это ограничивающий "[] +" работает? Скажем, я прохожу «Я люблю яблоко»

/** 
* Parses a sentence into an array of words 
* @param sentence the string sentence to parse 
* @return an array of words (in the sentence) 
*/ 
public static String[] GetWords(String sentence) { 
    return sentence.split("[ ]+"); 
} 
+0

'[] +' называется регулярным выражением. Это означает 1 или более пробелов. Вы разделяете строку на пробелы –

+0

Отключить тему: clueless, почему character-class используется в регулярном выражении. Просто '' + "' будет работать –

ответ

0

Если я правильно понимаю, вы спрашиваете о том, как цикл работ, когда объявлен как это:

for (String w : words) { 

В основном, это перебирает значения в словах , сохраняя текущее значение каждой итерации в переменной w.

Итак ...

for (String w : words) { 
    sentence += w + " "; 
} 

, как сокращение для

for (int i = 0; i < words.length; i++) { 
    String w = words[i]; 
    sentence += w + " "; 
} 

В фоновом режиме, он на самом деле производит итератор и использует это, но это не особенно важно/интересно для начинающих.

Смежные вопросы