我不确定如何返回字符串数组。最初,我使用for循环填充数组,然后使用toString()将其转换为字符串。我不允许更改返回类型,所以我想知道如何返回字符串数组?我尝试返回数组,但它返回了内存地址。这是代码:
public String getValues(int start, int end)
{
String[] values = new String[end+1];
for(int i=0;i<values.length;i++)
{
if(i % ham != 0 && i % spam != 0)
{
values[i]=Integer.toString(i);
}
else if(i % ham == 0 && i % spam != 0)
{
values[i]= word2;
}
else if(i % ham != 0 && i % spam == 0)
{
values[i]= word3;
}
else if(i % ham == 0 && i % spam == 0)
{
values[i]= word1;
}
}
String[] result= java.util.Arrays.copyOfRange(values,2,end+1);
String str1= java.util.Arrays.toString(result);
return str1;
}
我只能编辑这个课程。我的方法必须返回包含其中所有元素的String数组。没有println,print或任何类似的东西。我以为只返回数组会起作用,但我只是得到了地址。我不知道问题是什么。我将返回类型更改为String []并取出toString()并返回结果。仍然得到数组的地址,具体如下:[Ljava.lang.String; @ 391673
答案 0 :(得分:3)
String[]
。public String[] getValues(int start, int end) {
// ...
return result;
}
然后您可以打印结果:
public static void main(String[] args) {
String[] values = new MyClass().getValues(1, 2);
String valuesString = java.util.Arrays.toString(values);
System.out.println("VALUES: " + valuesString);
}