我很感激我在程序中找到的一些帮助,但是我无法理解它,我已经通过评论猜到了它的作用,但如果我错了,请纠正我。
for(String[] movieArray:movie)
{
for(String data:movieArray)
{
if(data!=null){ //If data is not empty then it writes...
jTextArea1.append(data+", "); //...this to the textarea.
}
else{ //If data is empty, then it will stop.
empty=true;
break;
}
}
if(empty==false){ //??
jTextArea1.append("\n");
}
}
}
答案 0 :(得分:1)
在数组movieArray
中的所有元素都不是null
之后,它们将被附加到jTextArea1
,而empty
将保留false
(提供最初是false
。
在内部for
结束后,如果\n
为empty
,它会附加一个换行符(false
)(如果第一个中的情况会发生这种情况语句满意),否则如果empty
设置为true
(数组中有null
元素),则不会打印新行字符。
以下是通过示例更好地理解它的方法。
movie = {{"1", "2", "3"}, {"4", "5", "6"}}; // Example 1
jTextArea1
将是
1, 2, 3,
4, 5, 6,
如果
movie = {{"1", null, "3"}, {"4", "5", "6"}}; // Example 2
jTextArea1
将是
1, 4, 5, 6,
这是因为在第二种情况下,数组中的一个元素是null
,因此在将for
设置为empty
之后它突然出现true
。由于空为true
,因此不会打印新的换行符。
答案 1 :(得分:0)
您的意见是对的。
/**if no one of the data objects is empty, the boolean `empty` is
*still false and then a \n is added to the textarea.
*/
if(empty==false){
jTextArea1.append("\n");
}
empty==false
与!empty
答案 2 :(得分:0)
看起来像是为了我...
if(empty==false){ //??
jTextArea1.append("\n");
}
应该在for循环中
答案 3 :(得分:0)
for(String[] movieArray:movie)
这意味着 - 循环将继续,直到影片数组中存在一个值。 它相当于
for(int i =0; i<movie.length();i++)
String [] movieArray = movie[i];
WHile 2nd for for循环,for(String data:movieArray)
表示此处使用您之前创建的movieArray
。此循环将继续执行,直到movieArray
中存在元素。
以下是您提到的增强型for循环的表示。
for(int i =0; i<movie.length();i++){
for(int j = 0; j<movie[0].length(); j++){