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