添加数组时重复错误消息

时间:2013-10-15 18:52:13

标签: java arrays string

自从十月的第一周以来,我一直在研究java,我似乎无法继续这个问题。我解决了一个问题而另一个问题不断出现。我正在使用Blue J,我正在尝试向响应数组添加一个数组。这是代码:

public class eDiary{
    public static void main (String args[]){
        int [] days = {1,2,3,4,5,6,7};
        String [] responses;
        int i = 0;

        for(i=0; i<7; i++){
            String response = Console.readString("What is your major event for day " + days[i]);
            responses[responses.length] = responses;

        }
    }


}

我正在尝试让用户输入当天的重大事件。每个事件都应该将自己添加到响应数组中,因为它对应于days数组(响应1对应于第1天)我没有完成代码,但这是第一部分。该错误一直提到“respond [responses.length] =响应中的不兼容类型;我如何处理这个问题。可能会有更多错误,因为BlueJ似乎一次只显示一个错误。

2 个答案:

答案 0 :(得分:5)

在第

 responses[responses.length] = responses;

响应是一个数组。您只能指定一个字符串

可能你想要这样做

 responses[responses.length] = response;

在问题的背景下

推荐的更改:

  1. 此外,您应该使用i代替responses.length:

    responses[i] = response;

  2. 初始化回复:

    String [] responses;

    到 - &GT;

    String [] responses = new String[7]; //提供7是固定长度。

答案 1 :(得分:1)

您永远不会初始化responses,它始终为空,很可能是您想要的

String[] responses=new String[days.length]; //Assuming responses should be the same length as days

然后你可以添加每个响应到这个(现在非null)数组,所以

   for(i=0; i<7; i++){
        String response = Console.readString("What is your major event for day " + days[i]);
        responses[i] = response; //Note response not responses

    }

在这里,您可以在数组的每个7“框”中添加一个String,