Java 数组开头有奇怪的null publicstringgetvalues(int-start,int-end) { 字符串[]值=新字符串[end+1]; 对于(int i=start;i

Java 数组开头有奇怪的null publicstringgetvalues(int-start,int-end) { 字符串[]值=新字符串[end+1]; 对于(int i=start;i,java,null,Java,Null,值包含索引为0到end的元素;由于start=2,您从未设置任何索引小于2的元素,因此这些索引处的元素零售其默认值:null。数组。toString打印整个数组,而不仅仅是方法在开始索引后填充的部分。您说的start=2,因此ns在此之前将为空。请不要编写代码,不要剽窃。只想对这两个空进行一些逻辑解释,以及消除它们的可能方法当我从0开始数组时,它将第一个空更改为hamspam,第二个更改为1。但是,我需要数组从2开始计数,有什么方法可以做到这一点吗?当我开始时0处的数组,它将第一个null更改为

值包含索引为0到end的元素;由于start=2,您从未设置任何索引小于2的元素,因此这些索引处的元素零售其默认值:null。

数组。toString打印整个数组,而不仅仅是方法在开始索引后填充的部分。您说的start=2,因此ns在此之前将为空。

请不要编写代码,不要剽窃。只想对这两个空进行一些逻辑解释,以及消除它们的可能方法当我从0开始数组时,它将第一个空更改为hamspam,第二个更改为1。但是,我需要数组从2开始计数,有什么方法可以做到这一点吗?当我开始时0处的数组,它将第一个null更改为hamspam,第二个更改为1。但是,我需要数组从2开始计数,有什么方法可以做到这一点吗?好的,您可以让所有的if条件都按照I+2工作,或者您可以使用Arrays.copyOfRange仅获取所需的元素,或者您可以编写Arrays.toString来尊重您的属性索引边界。尝试执行Arrays.copyOfRange(值,2,end-1),但得到与类型不兼容的错误:不存在类型变量T的实例,因此T[]符合java.lang.String?您是否尝试将其分配给字符串?这将为您提供另一个数组,而不是字符串,您需要将其传递给Arrays.toString.Yeah我尝试将其传递给字符串,这解释了为什么它不起作用。因此,基本上copyOfRange根据指定的边界返回一个新数组,然后我必须将该新数组分配给一个带有toString()的字符串。谢谢你们的帮助,并没有给我代码。真的很感谢你们!
public String getValues(int start, int end) 
{
    String[] values  = new String[end+1];
    for(int i=start;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 str1= java.util.Arrays.toString(values);
    return str1;
}