0

自 10 月的第一周以来,我一直在研究 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;

        }
    }


}

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

4

2 回答 2

5

在行

 responses[responses.length] = responses;

响应是一个数组。您只能分配一个字符串

也许你想这样做

 responses[responses.length] = response;

在问题的背景下

建议更改:

  1. 此外,您应该使用i而不是responses.length:

    responses[i] = response;

  2. 初始化响应:

    String [] responses;

    到->

    String [] responses = new String[7];// 假设 7 是固定长度。

于 2013-10-15T18:54:35.337 回答
1

您从不初始化responses,它始终为空,很可能您想要

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

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

   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 个“框”中,

于 2013-10-15T18:59:24.917 回答