java - 我运行像 for(String Day : days) 这样的 for 循环,我想在 for 循环之外打印 for 循环的数据怎么做?
问题描述
我在 Java 中运行一个 for 循环,例如for(String Day : days)
. 我想在 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(name+" " + Day+" "); 但它显示找不到符号的错误。如何解决?
解决方案
我想像 System.out.println(name+" " + Day+" "); 但它显示找不到符号的错误。如何解决?
变量的范围,Day
仅限name
于声明它们的循环,因此试图在循环之外访问它们将导致编译失败。
您可以通过基于索引访问元素来修复它。
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
推荐阅读
- android - CameraX.unbindAll() 方法发生了什么?
- android-studio - 没有用于颤振的 sdk 路径
- multidimensional-array - 苦苦挣扎于 3D 数组追加
- reactjs - React-redux 学习
- java - 如何以编程方式创建 GraphQl 请求
- linkedin - LinkedIn API - 来自 POST /ugcPosts 的 409 冲突响应
- elasticsearch - 在 kibana 仪表板的 elastalert kibana 插件中创建规则
- angular - 有没有办法使用Angular路由路由到文件夹中的所有url?
- javascript - Dynamics 365 功能区按钮中带有 JS 的奇怪命名空间上下文行为
- database - 另一个efcore违反主键约束引用表的问题