增强了for循环

时间:2012-07-24 11:54:28

标签: java for-loop foreach

你能把这个增强的for循环转换成普通的循环吗?
for (String sentence : notes.split(" *\."))

当数据类型是整数时,我喜欢增强和正常的循环。但如果它是一个字符串,我很困惑。非常感谢你!

8 个答案:

答案 0 :(得分:2)

String[] sentences = notes.split(" *\.");
String sentence = null ;
int sentencesLength = sentences.length;

for(int i=0;i<sentencesLength;i++){
sentence = sentences[i];
//perform your task here

}

Eclipse Juno具有内置功能,可将for-each转换为基于索引的循环。看看吧。

答案 1 :(得分:2)

你应该看看For-Each's Doc

String[] splitted_notes = notes.split(" *\. ");
for (int i=0; i < splitted_notes.length; i++) {
  // Code Here with splitted_notes[i]
}

或类似于for (String sentence : notes.split(" *\."))

的循环
ArrayList<String> splitted_notes = new ArrayList<>(Arrays.asList(notes.split(";")));
for(Iterator<String> i = splitted_notes.iterator(); i.hasNext(); ) {
  String sentence = i.next();
  // Code Here with sentence
}

答案 2 :(得分:1)

String[] splitResult=notes.split(" *\.");
for (String sentence : splitResult)

答案 3 :(得分:1)

普通的循环 -

String[] strArray = notes.split(" *\.");
String sentence = null;
  for(int i=0 ;i <strArray.length ; i++){
    sentence = strArray[i];
   }

答案 4 :(得分:0)

split会向您返回String[]

String[] array=notes.split(" *\.");
for(int i=0;i<array.length();i++) {

    System.out.println(array[i]);
}

答案 5 :(得分:0)

你可以这样:

String[] splitString = notes.split(" *\."));
for (int i = 0; i < splitString.length; i++)
{
    //...
}

OR

for(String str : splitString)
{
    //...
}

答案 6 :(得分:0)

String [] array = notes.split(" *\."));
String sentence;
for(int i = 0; i < array.length; i ++) {
sentence = array[i];
}

答案 7 :(得分:0)

我认为正则表达式本身是错误的。编译器会说

  

非法转义字符

如果

  

“* \。”

是正则表达式。所以我假设你试图通过拥有

来分割字符串
  

。 (一个点)

作为分隔符。在这种情况下,代码就像

String[] splittedNotes = notes.split("[.]");
for (int index = 0; index < splittedNotes.length; index++) {
   String sentence = splittedNotes[index];
}

在一份礼貌的说明中,你本可以尝试自己做到这一点。欢呼声。