我的朋友发给我这段代码并且它有效,但我无法理解“ss”是什么意思?谁能帮我吗?感谢。
public static void main(String[] args)
{
String sentence;
int index=1;
String[] words;
System.out.print("Please enter a sentence: ");
sentence = EasyIn.getString();
words = sentence.split(" ");
for(String ss : words )
{
System.out.println("Word "+index+ " is "+ ss);
if(ss.matches("[a-zA-Z]+"))
{
System.out.println("Word "+ss+" is a good word");
System.out.print("\n");
}
else
{
System.out.println("Word "+ss+" is a bad word");
System.out.print("\n");
}
index++;
}
}
答案 0 :(得分:3)
这是一个foreach循环
for(String ss : words )
它说:对于words
中的每个元素,创建一个名为String
的临时元素(ss
)。所以它是说,逐步浏览words
中的每个元素,将其称为ss
这个单循环,用它做一些事情然后继续下一个。
答案 1 :(得分:1)
代码中使用的ss变量是for循环的一部分。 ss表示单词集合中的每个单个字符串。您可能想参考for循环工作的java语言教程。
答案 2 :(得分:1)
代码:
for(String ss : words) {
// ...
}
是Java的for-each循环,它迭代集合或数组参数中的每个元素。 String ss
位在循环范围内声明了一个名为ss
的变量。
对collection参数的要求是它需要是一个实现Iterable<T>
接口或数组的类型。
答案 3 :(得分:0)
变量ss是一个使用迭代器的局部变量。 java中提供了两种类型的for循环。
第一:
for(int i=0;i<5;i++){
//block of code
}
第二:
for(int i:array)
{
//block of code
}
你提到的那个是for循环的第二种类型。
ss充当迭代器,并根据您的情况下基于给定正则表达式(“空格”)拆分输入句子而形成的每个单词进行迭代。