错误:找不到符号array.add(element);

时间:2016-02-27 06:24:26

标签: java arrays readfile

我有一个程序从文件中读取,接收每个单词并将其作为String添加到数组中。我在将字符串添加到数组时遇到了一些麻烦。     我收到错误:

it("Updating User details: ", function (done) {
    server
        .put(apiUrl + "/user")
        .set({
            "name": "Vinay Pandya",
            "photo": "http://tamilcinema.com/wp-content/uploads/2015/05/madhavan.jpg",
            "email": "mail@mail.com",
            "gender": "M"
        })
        .set({"Authorization": token})
        .expect(200)
        .end(function (err, res) {
            if (err)
                throw err;
            res.status.should.equal(200);
            res.body.status.should.equal("success");
            //console.info(JSON.stringify(res.body));
            done();
        });
});

symbol:方法add(String)   location:String []

类型的变量数组

我检查了我的拼写,一切似乎都没问题。 发生了什么,我该如何解决?

SortingWords.java:73: error: cannot find symbol
        array.add(element);
             ^

非常感谢

5 个答案:

答案 0 :(得分:2)

您对数组和s!NSLog!//NSLog!感到困惑。

数组没有添加方法,它们的插入将基于索引

ArrayList

类似,只能使用索引

重新启动它们

array[index] = value;

答案 1 :(得分:2)

真的很无聊的回答,如果你只想简单回答,请跳至最底 ...

好的伙伴我想我在这里看到你的问题,我将开始说你可能会混淆STRING LISTS(小心不要弄混乱列表会变得非常复杂而且我得到了我的主人,其中有列表中的整个班级D =)与STRING ARRAYS。

列表是你放入各种东西的包,就像食品杂货袋,你可以放入胡萝卜,豌豆,苹果或者在我们的情况下用java字符串编程,整数等...在一个包里的东西不有订单。数组更像是一个oreo cookie容器(数组)。你只把奥利奥斯放在那里,他们都进了一个插槽并留在那里,这不像一个杂货袋(清单),一个项目可以落到底部或顶部....

这在数组中非常重要,您无法更改大小,因此无法执行

    array.add(element)

如果你发现自己在问什么,那么你需要考虑一下。如果你创建一个包含2个元素的数组怎么办?然后每个元素去哪里?即使您不理解它,Java语言也要求在数组中指定对象的位置。因此,要将对象添加到数组,您需要指定位置。然后将其设置为等于你想要的w / e,

位置,

    array[0];

简单回答 你设置的是什么,

    array[0] = "I want it to equal this string!!!";

简单回答结束

现在让我们看一下食品袋(它没有"插槽"就像一个数组)请注意,你的代码中似乎没有列表,

    List<String> myBrandNewShinyList= new ArrayList<String>();

完成此列表后,您可以使用您使用的.add(),

   myBrandNewShinyList.add("Let's add this string!!!");

现在你知道区别好运了。我也犯过这么多错误......

答案 2 :(得分:1)

使用ArrayList代替数组:

List<String> array = new ArrayList<String>();

while (scanFile.hasNextLine()) {
    String line = scanFile.nextLine();
    Scanner lineInput = new Scanner(line).useDelimiter("\\s*");
    element = lineInput.next();

    // the add() method is available for Collections but
    // not for primitive arrays
    array.add(element);
    count++; 
 }

for (String element : array) {
    System.out.print("Index = " );
    System.out.printf("%-7d", i);
    System.out.print(",  Element = ");
    System.out.println(element);
}

答案 3 :(得分:1)

java中的数组有一个静态的插槽数。您必须知道在实例化阵列时所需的数字。

你想要的是:

array[count] = element;

或者您可以使用List<String>(例如ArrayList<String>,因为List只是interface

答案 4 :(得分:0)

这不是你如何向Java数组添加元素。在循环外部保留一个计数器,它将在循环块内增加,然后添加如下元素:

int i = 0;
while(.....){
    .
    .
    array[i] = //element to be added
    i++;
}