首页 > 解决方案 > 使用 size 参数实例化名称数组的公共构造函数

问题描述

我在第 5 行收到一条错误消息,提示无法从 String 转换为 int。问题要求我使用 size 参数实例化名称数组。我该如何纠正?

class ProgClass{
private String name[];

public ProgClass(int size){
   this.name = new int[size];
}

然后,我想通过询问用户输入来搜索索引:

int cnt = cnt.nextInt
System.out.println("Name "+cnt+" is " + name[cnt-1]);

有什么办法可以做到吗?

标签: javaarraysconstructor

解决方案


信息应该很清楚:字符串数组不是 int 数组。

this.name = new String[size];  

是你需要的。您需要一个“int”参数,因为您想将大小传递给new String[],但您的目标仍然是为字符串创建一个数组,而不是为整数!

对于第二部分,你真正的问题出现了:你在发明东西。 int cnt = cnt.nextInt没有任何意义。

我猜你的意思是这样的:

Scanner reader = new Scanner(System.in);
System.out.print("Enter an integer followed by <enter>: ");
int i = reader.readInt();

推荐阅读