public void displayData(String [] names, int []scores, char [] grades){
for (String name : names && char grade : grades)
System.out.println(name + "\t");
System.out.print(grade);
以上是我的代码。我需要在for循环中放置一个和运算符,但上面的代码不正确。请帮忙。如果需要,我会提供更多细节。
答案 0 :(得分:2)
查看您的代码,您似乎需要这样:
public void displayData(String [] names, int []scores, char [] grades) {
for (int i = 0; i < names.length; i++) {
System.out.println(names[i] + "\t");
System.out.print(grades[i]);
}
}
答案 1 :(得分:1)
您无法使用新式for
循环并行迭代两个数组/集合。您需要使用带有显式索引变量的旧式for
循环。例如:
public void displayData(String [] names, int []scores, char [] grades) {
for (int i = 0; i < names.length; i++) {
System.out.println(names[i] + "\t");
System.out.print(grades[i]);
}
}
答案 2 :(得分:1)
试试这个:
for (int i = 0; i < names.length && i < grades.length; i++){
System.out.println(names[i]);
System.out.println(grades[i]);
}
编辑这可能有助于澄清用户的问题:如何让他的代码工作,或者如何将操作数放在for循环中。在后者的情况下,目的是有争议的,但我已经看到它用于循环不同长度的数组。你可以练习的问题,但这是人们可以使用的问题。在前者的情况下,他可能应该像这样使用传统的for循环:
for (int i = 0; i < names.length; i++){
System.out.println(names[i]);
System.out.println(grades[i]);
}
答案 3 :(得分:1)
假设所有数组都是并行的(所有数组都相同,索引 i 中的grade数组中的值是索引 i
for (int i = 0; i < grades.length; ++i) {
System.out.println(names[i] + "\t" + grades[i]);
}
此外,尝试一个接一个地避免多个System.out.print语句,因为每个语句都需要调用操作系统,这会使您的应用程序降低一点,因为整个程序在操作系统处理您的请求时停止了很多打印字符串。在可能的情况下连接(与'+
')字符串一起使用。
答案 4 :(得分:0)
应该是
for (String name : names) {
System.out.println(name);
for (char grade : grades)
System.out.println("\t"+grade);
}