Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 修改Arraylist中的所有值_Java_Arraylist - Fatal编程技术网

Java 修改Arraylist中的所有值

Java 修改Arraylist中的所有值,java,arraylist,Java,Arraylist,我有一个用于编程的实验室,我们需要设计一个程序,使用电阻阵列列表来计算并联和串联电路的总电阻。对于并行电路,我需要将ArrayList中的每个项都更改为其倒数(1/项)。我到了这一点,似乎无法找到这是错误的原因和可能的解决办法。谢谢 **我得到的错误是“resistences=1/resistences.get(index);”行的“类型ArrayList中的方法get(int)不适用于参数(double)”** -业务逻辑类- import java.util.ArrayList; /**

我有一个用于编程的实验室,我们需要设计一个程序,使用电阻阵列列表来计算并联和串联电路的总电阻。对于并行电路,我需要将ArrayList中的每个项都更改为其倒数(1/项)。我到了这一点,似乎无法找到这是错误的原因和可能的解决办法。谢谢

**我得到的错误是“resistences=1/resistences.get(index);”行的“类型ArrayList中的方法get(int)不适用于参数(double)”**

-业务逻辑类-

import java.util.ArrayList;

/**
* The class Circuit gathers the resistances of a user-defined number of
* resistors for a user-defined type of circuit and displays the total
* resistance of the circuit for the main method of the Presentation class.
*/

public class Circuit {

    private double arrayListSize;

    public double n;

    public double sum;

    public double finalSum;

    public ArrayList<Double> resistances = new ArrayList<Double>();

    /**
     * @param initialPop
     *      user-defined initial population
     */
    public final void setArraySize(final double alSize) {
        arrayListSize = alSize;
    }

    public final double getArraySize() {
        return arrayListSize;
    }

    public final void setResistors(double alResistances) {
        for (n = 0; n < getArraySize(); n++) {
            resistances.add(alResistances);
        }
    }

    public  ArrayList<Double> getResistors() {
        return resistances;
    }

    public final void setPResistance(ArrayList<Double> resistances) {
        for (double index : resistances) {
            resistances = 1 / resistances.get(index);
        }
        sum = 0;
        for (double i : resistances) {
            sum =sum + i;
        }
        double finalSum = 1 / sum;

    }

    public final double getPResistance() {
        return finalSum;
    }
}

您的错误在
setPResistance
方法中。方法
arrayList.get(i)
int
值作为参数,您将位置的实际值传递给它,它是一个
双精度

要将arraylist中的每个项替换为其倒数项,请更改如下方法:

public final void setPResistance(ArrayList<Double> resistances) {
    for (int c = 0; c < resistances.size(); c++) {
        resistances.set(c, 1/resistances.get(c));
    }
}
public final void setPResistance(阵列列表电阻){
对于(int c=0;c
集合上的Java文档(int索引,双元素)
方法:

将此列表中指定位置的元素替换为 指定的元素


你的问题到底是什么?请发布任何异常或不正确的输出**我得到的错误是“类型ArrayList中的方法get(int)不适用于参数(double)”,行“Resistences=1/Resistences.get(index);“**好的,那么您希望数组列表中的每个值都替换为其倒数值吗?是的,这正是我想要的。很高兴提供帮助,欢迎来到堆栈溢出。如果此答案或任何其他答案解决了您的问题,请将其标记为已接受
public final void setPResistance(ArrayList<Double> resistances) {
    for (int c = 0; c < resistances.size(); c++) {
        resistances.set(c, 1/resistances.get(c));
    }
}