【问题标题】:How to perform Arithmetic with ArrayList values如何使用 ArrayList 值执行算术运算
【发布时间】:2019-03-13 03:02:26
【问题描述】:

我是使用 ArrayList 的初学者,我想向存储在元素中的值添加一个数字。基本上我想做 arlist(0) += number。 这是我的代码(我只粘贴了相关部分)。

ArrayList<Integer> snakex = new ArrayList<Integer>();
snakex.add(630);

我不知道如何从这里继续。我试过了:

snakex.get(0) += 5;

这样做我得到错误“赋值的左侧必须是一个变量”。

如何将snakex(0) 的值从630 更改为635?

谢谢!

【问题讨论】:

    标签: java arraylist add


    【解决方案1】:

    您正在使用返回整数的ArrayList.get() 方法,当您将该值添加到整数时,它会给出错误,这是正确的。 现在您必须将get() 方法与set() 方法结合使用,如下所示:

    //index to change, so in future you don't need to 
    //change whole code just change value of 'i'
    int i = 0; 
    snakex.set(i, snakex.get(i)+5);  //first calls the 'get()' method and then sets that value
    

    For more on ArrayList click here

    【讨论】:

      【解决方案2】:

      你基本上在做的是:

      snakex.get(0) += 5 -> 630 += 5 -> 635; 
      

      它不知道从那里做什么。而是这样做:

      snakex.set(0, snakex.get(0) + 5)
      

      set方法由set(int index, Object o)定义 . get(int index) 获取指定索引处的值。 set(int index, Object o) 将指定索引处的值设置为对象。

      【讨论】:

      • 它仍然给我同样的错误“赋值的左侧必须是一个变量”。但后来我只写了一个“+”号,它起作用了!谢谢
      • @learning2code 它是正确的。我一开始也不知道怎么做。祝你好运,虽然兄弟。编码就是生活
      【解决方案3】:

      您可以使用java.util.ArrayList 类的set() 方法替换Java 中ArrayList 的现有元素。 set(int index, E element) 方法有两个参数,第一个是要替换的元素的索引,第二个是要插入的新值。

      snakex.set(0, snakex.get(0)+5)

      【讨论】:

        【解决方案4】:

        这里我举一些arrayList的例子:

        ArrayList<Integer> snakex = new ArrayList<Integer>();
        
                snakex.add(630);
                snakex.add(640);
                snakex.add(650);
                snakex.add(660);
        
                for (int index = 0; index < snakex.size(); index++) {
                    Integer item=snakex.get(index);//getting item for position
                    snakex.set(index,(item+5)); // It is adding 5 with each item and storing tht position
                }
        
                // print each item using for each
                for (Integer item:snakex) {
                    System.out.println(item+" ");
                }
        
                // delete item which value is 640
                for (int index = 0; index < snakex.size(); index++) {
                    Integer item=snakex.get(index);//getting item for position
        
                    if(item==640){
                        snakex.remove(item);
                    }
                }
        

        欲了解更多信息,请visit here

        希望这会对你有所帮助。

        谢谢:)

        【讨论】:

          猜你喜欢
          • 2015-11-30
          • 1970-01-01
          • 2013-04-16
          • 2014-02-06
          • 2017-01-10
          • 1970-01-01
          • 1970-01-01
          • 2017-04-15
          • 1970-01-01
          相关资源
          最近更新 更多