从Java中函数调用返回的另一个字符串数组复制字符串数组
在Java中,我试图从另一个字符串数组(从函数调用返回)分配一个字符串数组(printHi)。这是该作业的代码从Java中函数调用返回的另一个字符串数组复制字符串数组,java,Java,在Java中,我试图从另一个字符串数组(从函数调用返回)分配一个字符串数组(printHi)。这是该作业的代码 public static void main(String[] args) { int n = 5; // throws out the error String[] printHi = new String[] (arrayOfHiNTimes(n)); System.out.println(printHi); } private static Strin
public static void main(String[] args) {
int n = 5;
// throws out the error
String[] printHi = new String[] (arrayOfHiNTimes(n));
System.out.println(printHi);
}
private static String[] arrayOfHiNTimes(int n) {
String[] hiArray = new String[n];
for(int i = 0; i < n; i++) {
hiArray[i] = "hi";
}
return hiArray;
}
公共静态void main(字符串[]args){
int n=5;
//抛出错误
字符串[]printHi=新字符串[](arrayOfHiNTimes(n));
系统输出println(printHi);
}
私有静态字符串[]ArrayOfIntimes(int n){
String[]hiArray=新字符串[n];
对于(int i=0;i
由于返回的类型与试图分配给变量的类型相同,因此无需创建新数组。此代码应适用于:
public static void main(String[] args) {
int n = 5;
// throws out the error
String[] printHi = arrayOfHiNTimes(n);
System.out.println(printHi);
}
private static String[] arrayOfHiNTimes(int n) {
String[] hiArray = new String[n];
for(int i = 0; i < n; i++) {
hiArray[i] = "hi";
}
return hiArray;
}
publicstaticvoidmain(字符串[]args){
int n=5;
//抛出错误
字符串[]printHi=arrayOfHiNTimes(n);
系统输出println(printHi);
}
私有静态字符串[]ArrayOfIntimes(int n){
String[]hiArray=新字符串[n];
对于(int i=0;i
如果您特别需要复制阵列,请根据下面的使用
public static void main(String[] args) {
int n = 5;
// throws out the error
/*args are the original array, the starting index (0 for beginning),
*and the last index + 1 since it's exclusive, which is the same as arr.length.
*In this case, it's the same as n since that's what you're using to determine
*the length of the array.
*/
String[] printHi = Arrays.copyOfRange(arrayOfHiNTimes(n), 0, n);
System.out.println(printHi);
}
private static String[] arrayOfHiNTimes(int n) {
String[] hiArray = new String[n];
for(int i = 0; i < n; i++) {
hiArray[i] = "hi";
}
return hiArray;
}
publicstaticvoidmain(字符串[]args){
int n=5;
//抛出错误
/*args是原始数组,起始索引(0表示起始),
*最后一个索引+1,因为它是独占的,这与arr.length相同。
*在本例中,它与n相同,因为这是您用来确定的
*数组的长度。
*/
String[]printHi=Arrays.copyOfRange(arrayOfIntimes(n),0,n);
系统输出println(printHi);
}
私有静态字符串[]ArrayOfIntimes(int n){
String[]hiArray=新字符串[n];
对于(int i=0;i
从共享错误消息开始。它表示赋值的左侧语句必须是变量。请删除新字符串[]
。您不需要创建新的数组,方法arrayOfHiNTimes()
已经返回了一个数组。String[]printHi=arrayOfHiNTimes(n)是enogh@Progman谢谢,我删除了字符串初始化,它成功了。@CeePlusPlus感谢您的编辑。