运算符 < 对于参数类型是未定义的
The operator < is undefined for the argument type
不讨厌我的 Java 编程老师,但我有一些编程经验,对于第一个项目,我想让老师惊叹。无论如何,我是 Java 的新手,但对 C 有一定的了解。只是为了测试 Java 中的数组系统,我设计了这个程序。我想让它做的是询问我数组的大小。我需要数组的大小,因为稍后我将用员工的姓名填充它。但是我一直收到这个错误...
package withholding_calculator;
import java.util.Scanner;
class withholding_calculator {
public static void main(String args[]) {
//declaring variables
Scanner size = new Scanner(System.in);
String[] employeeNames = new String[size.nextInt()];
for( int i = 0; i < size; i++ ) {
System.out.println( employeeNames[i] );
}
}
}
对此有两点回应。
首先,您的 for 循环可以直接使用数组大小 (employeeName.length
) 而不是引用扫描仪对象(错误是由于您将扫描仪与 int 进行比较引起的)。
其次,'c' 样式数组在 Java 中的使用比在 C 中少得多。通常 Java 程序员会将其编码为:
List<String> employeeNames = new ArrayList<>();
// fill the list using employeeNames.add
for (String name: employeeNames)
System.out.println(name);
在Java8中,最后2行可以大大简化为:
employeeNames.forEach(System.out::println);
尽管如此,使用标准数组仍然是完全合理的,如果您比较数组的长度而不是扫描仪,您的代码应该可以正常工作。
不讨厌我的 Java 编程老师,但我有一些编程经验,对于第一个项目,我想让老师惊叹。无论如何,我是 Java 的新手,但对 C 有一定的了解。只是为了测试 Java 中的数组系统,我设计了这个程序。我想让它做的是询问我数组的大小。我需要数组的大小,因为稍后我将用员工的姓名填充它。但是我一直收到这个错误...
package withholding_calculator;
import java.util.Scanner;
class withholding_calculator {
public static void main(String args[]) {
//declaring variables
Scanner size = new Scanner(System.in);
String[] employeeNames = new String[size.nextInt()];
for( int i = 0; i < size; i++ ) {
System.out.println( employeeNames[i] );
}
}
}
对此有两点回应。
首先,您的 for 循环可以直接使用数组大小 (employeeName.length
) 而不是引用扫描仪对象(错误是由于您将扫描仪与 int 进行比较引起的)。
其次,'c' 样式数组在 Java 中的使用比在 C 中少得多。通常 Java 程序员会将其编码为:
List<String> employeeNames = new ArrayList<>();
// fill the list using employeeNames.add
for (String name: employeeNames)
System.out.println(name);
在Java8中,最后2行可以大大简化为:
employeeNames.forEach(System.out::println);
尽管如此,使用标准数组仍然是完全合理的,如果您比较数组的长度而不是扫描仪,您的代码应该可以正常工作。