Java 用size参数实例化名称数组的公共构造函数

Java 用size参数实例化名称数组的公共构造函数,java,arrays,constructor,Java,Arrays,Constructor,我得到一个错误,在第5行无法从字符串转换为int。这个问题需要我用size参数实例化name数组。我如何纠正它 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

我得到一个错误,在第5行无法从字符串转换为int。这个问题需要我用size参数实例化name数组。我如何纠正它

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

有什么办法可以做到吗?

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

this.name = new String[size];  
这就是你需要的。您需要一个“int”参数,因为您希望将大小传递给
新字符串[]
,但您的目标仍然是为字符串创建数组,而不是为int

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

我猜你的意思是:

Scanner reader = new Scanner(System.in);
System.out.print("Enter an integer followed by <enter>: ");
int i = reader.readInt();
Scanner reader=新的扫描仪(System.in);
System.out.print(“输入一个整数,后跟:”);
int i=reader.readInt();

您已将其声明为字符串数组,但随后将其分配给新的int数组

this.name = new String[size];  

这对我来说只是一个打字错误。但问题在于size参数是您希望字符串数组的整数大小。但是它被编码为,使我的字符串数组现在等于一个新的int数组,该数组的大小与我传入方法的大小相同。这不是您想要的。

您正在尝试实例化字符串数组吗?在第5行,您试图将this.name指定为大小为“size”的整数数组

如果你把那行改成

this.name=新字符串[大小]


那就行了。但是单个条目仍然为空。

new String[size]
您不理解错误的哪一部分?您正在执行
String[]name=new int[size]
。你看到问题了吗?一个简单的打字错误?应该是
this.name=新字符串[大小](注意
String
而不是
int
)A)我更新了我的答案。现在。但请不要进入“那么让我们再问一个问题”乒乓球。你问了一个问题,你收到了答案,所以现在请考虑其中一个答案。B) 在你这方面有一个误解:这个社区不是一个辅导服务,在那里你经常问一些问题,这些问题可以通过遵循好书或教程很容易地得到回答。因此,请:也请转到学习如何/问什么。