操作员<未定义参数类型

时间:2015-02-02 07:09:24

标签: java types arguments undefined operator-keyword

对我的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] );
        }
    }
}

1 个答案:

答案 0 :(得分:1)

对此作出两点回应。

首先,你的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);

在Java 8中,最后两行可以大致简化为:

employeeNames.forEach(System.out::println);

说过使用标准数组仍然是完全合理的,如果你比较数组的长度而不是你的扫描器,你的代码应该起作用。