我运行了一个for循环,比如for(String Day:days),我想在for循环之外打印for循环的数据.如何做到



我在类似for(String Day : days)的Java中运行for循环。我想在for循环之外打印for循环的数据。如何做到这一点?

String[] day = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
List<String> days = Arrays.asList(day);
Collections.shuffle(days);

for(String Day : days){
//System.out.println(Day + " ");
}
String[] persons = {"john", "Bob", "Smith", "Tom", "Ryan"}; 
List<String> names = Arrays.asList(persons);
Collections.shuffle(names);

for(String name : names){
//System.out.println(name + " ");
}

我想像这样打印System.out.println(名称+"+日期+"(;但它显示了找不到符号的错误。如何修复?

我想像System.out.println(名称+"+"+Day+"(一样打印两者;但是它显示了找不到符号的错误。如何修复?

变量Dayname的作用域仅限于已声明它们的循环,因此尝试在循环之外访问它们将导致编译失败。

您可以通过访问基于索引的元素来修复它。

import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
String[] day = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" };
List<String> days = Arrays.asList(day);
Collections.shuffle(days);
String[] persons = { "john", "Bob", "Smith", "Tom", "Ryan" };
List<String> names = Arrays.asList(persons);
Collections.shuffle(names);
for (int i = 0; i < Integer.min(days.size(), names.size()); i++) {
System.out.println(names.get(i) + "t" + days.get(i));
}
}
}

输出:

john    Friday
Ryan    Thursday
Tom Tuesday
Bob Wednesday
Smith   Monday

最新更新