将操作符放入for循环中

时间:2011-07-13 00:41:51

标签: java for-loop operators

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循环中放置一个和运算符,但上面的代码不正确。请帮忙。如果需要,我会提供更多细节。

5 个答案:

答案 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 数组中学生的等级/ em>),您可能只需将循环重写为:

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);
}