- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个方法可以从两个不同的类类型列表中减去两个值。减法的代码是
public LinkedHashMap<String, List<Double>> diff()
{
List<Double> z=new ArrayList<Double>();
for(int i=0;i<st_jsp.size()&&i<ref_jsp.size();i++){
Double x=(double) ref_jsp.get(i);
Double y=st_jsp.get(i);
if(x>y){
z.add(x-y);
}
else{
z.add(y-x);
}
dif.put("", z);
}
return dif;
}
这里st_jsp和ref_jsp是两个列表如List<Ref_user_interface> st_jsp=new ArrayList<Ref_user_interface>();
和List<Ref_user_interface> st_jsp=new ArrayList<Ref_user_interface>();
Ref_user_interface 是我的类名。这两个列表的值(value)如下-
ref.setSt1_vs1_bag6_rb(rs.getDouble(8));
ref.setSt1_vs1_bag7_rb(rs.getDouble(9));
ref.setSt1_vs1_bag8_rb(rs.getDouble(10));
st_jsp.add(ref);
其中引用号是 Ref_user_interface ref=new Ref_user_interface();
在我的减法中,我得到一个**无法从Ref_user_interface转换为Double**在线Double x= ref_jsp.get(i);Double y=st_jsp.get(i);
。有什么方法可以让我从两个保存对象类型数据的列表中减去我的值。?
编辑-1我有 getter 和 setter 方法。但是对于列表的每个值,我是否必须包含 getter 方法?对于我的 getter 和 setter 方法,请访问链接 setter method of mine
EDIT-2
我已经根据你所有的答案改变了我的减法方法 -
public LinkedHashMap<String, List<Double>> diff()
{
List<Double> z=new ArrayList<Double>();
for(int i=0;i<st_jsp.size()&&i<ref_jsp.size();i++)
{
Comaprision refObj = ref_jsp.get(i);
Comaprision stObj = st_jsp.get(i);
Double x =refObj.getBeam_current();
x+=refObj.getBeam_energy();
x+=refObj.getSt2_vs2_bag1_rb();
x+=refObj.getSt2_vs2_bag2_rb();
x+=refObj.getSt2_vs2_bag3_rb();
x+=refObj.getSt2_vs2_bag4_rb();
x+=refObj.getSt2_vs2_bag5_rb();
x+=refObj.getSt2_vs2_bag6_rb();
x+=refObj.getSt2_vs2_bag7_rb();
x+=refObj.getSt2_vs2_bag8_rb();
x+=refObj.getSt2_vs2_bag9_rb();
Double y = stObj.getBeam_current();
y+=stObj.getBeam_energy();
y+=stObj.getSt2_vs2_bag1_rb();
y+=stObj.getSt2_vs2_bag2_rb();
y+=stObj.getSt2_vs2_bag3_rb();
y+=stObj.getSt2_vs2_bag4_rb();
y+=stObj.getSt2_vs2_bag5_rb();
y+=stObj.getSt2_vs2_bag6_rb();
y+=stObj.getSt2_vs2_bag7_rb();
y+=stObj.getSt2_vs2_bag8_rb();
if((x>y)){
z.add(x-y);
}
else{
z.add(y-x);
dif.put("", z);
}
return dif;
}
但我无法理解是否添加了 1 个索引处的所有值,然后与索引 1 处的 y 进行比较,依此类推。此外,这个循环给了我 42 个值。我的 ref_jsp 有21 行,st_jsp 有 78 行,但这些行的值重复了两次。我无法理解这个 for 循环。请帮我解释一下。我不知道想要在索引处添加我的值,
我的实际问题是 -->我只想将 x 的每个索引的 getter 处的值与 y 的每个索引的 getter 处的值进行比较并找出差异。
最佳答案
问题是您的列表返回 Ref_user_interface
的对象,因此您可以通过调用 getter 方法来获取值,例如
ref_jsp.get(i).getSt1_vs1_bag6_rb()
如果你想要所有的 getter 方法,请在 for 循环中尝试这个
for(int i=0;i<st_jsp.size()&&i<ref_jsp.size();i++){
Ref_user_interface refObj = ref_jsp.get(i);
Ref_user_interface stObj = st_jsp.get(i);
Double x = refObj.getSt1_vs1_bag6_rb();
Double y = stObj.getSt1_vs1_bag6_rb();
comparing(x,y);
x =refObj.getSt1_vs1_bag7_rb();
y = stObj.getSt1_vs1_bag7_rb();
comparing(x,y)
// and so on for all the getters method you have for this obj
public void comparing(Double x,Double y){
// write your comparing logic here and add value in map
if(x > 0 && y > 0){
if(x>y){
z.add(x-y);
}else{
z.add(y-x);
}
}else if(x>0){
z.add(x);
}else{
z.add(y);
}
}
等等你就得到了你想要的所有值,然后根据你的逻辑使用它。
关于java - java中如何将类类型对象转换为 double 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28473285/
下面的代码有效,我觉得double(double)和double(*)(double)没有区别,square和 &square,我说得对吗? #include double square(doubl
我知道我的作业很草率,这是我在这门课上的第 4 次作业。任何帮助将不胜感激,谢谢。 double getPrincipal(0); double getRate(0); double getYe
我遇到了那个错误,当我使用类时,我在使用函数指针时遇到了这个错误。我的函数'ope'函数我该如何解决 evaluator::function(){ double (*ope) (dou
问题://故事从哪里开始 Graphics 类型中的方法 drawLine(int, int, int, int) 不适用于参数 (double, double, double, double) g.
我有一张 map> m1 形式的 map .我可以将其复制到 map m2 形式的 map 吗?这样键是相同的,并且 m2 中的值是 get(m1->second) 不使用循环?谢谢! 最佳答案 这样
有没有办法获取vector> 的“.first”和“.second”的连续内存? ?我的意思是: void func(int N, double* x, double* y) { for (i
我正在尝试将自定义 lambda 传递给需要函数指针的函数(更准确地说是 zero 中的 Brent library 函数)。 我的想法是,我将使用参数创建一次 lambda,然后用多个值对其求值 x
这是一个很简单的问题,让我很困惑。 我收到一个源文件的以下错误,但另一个没有: 4 src/Source2.cpp:1466: error: no matching function for cal
struct CalculatorBrain { private var accumulator: Double? func changeSign(operand: Double) -
在我正在进行的项目中,我尝试使用 curlpp库来发出一个简单的 html GET 请求。当我将 cpp 文件传递给 g++ 时,出现以下错误: /usr/local/include/curlpp
不使用double就能获得quadruple精度超过16位的数字吗?如果可能的话,这取决于编译器还是其他?因为我知道有人说他使用double精度,并且具有22位精度。 最佳答案 数据类型double
我正在寻找有关特斯拉 GPU 中硬件如何实现 double 的信息。我读到,两个流处理器正在处理单个 double 值,但我没有找到 nvidia 的任何官方论文。 提前致谢。聚苯硫醚为什么大多数 G
这个问题在这里已经有了答案: Passing capturing lambda as function pointer (10 个答案) 关闭 2 年前。 我有这个错误 error: cannot
情况:我有一个元组列表,其中添加了一个元组: List> list = new List>(); list .Add(new Tuple(2.2, 6.6)); 一切似乎都还好。但是......在 D
我有一个 JList,里面有一堆名字,还有一个包含这些名字值的数组 final Double[] filmcost = { 5.00, 5.50, 7.00, 6.00, 5.00 }; 我想做的是,
我试图找出牛顿法来求方程的根。这个错误出来了,我无法处理。 double fn(double n){ return sin(n)+log(n)-1; } double f1n(double n
我有一个 junit 测试断言两个 Double 对象,具有以下内容: Assert.assertEquals(Double expected, Double result); 这很好,然后我决定将其
我正在尝试引入部分数据文件来填充数组,用户尝试了三次输入正确的数据文件名。我一再遇到这些错误。我知道像 arr 这样的数组只是一个指向内存块的指针。 #include #include #incl
我正在尝试完成复习题(为即将到来的编程决赛),但是,我无法解决这个问题,因为我不断收到错误(标题)。正如预期的那样,我将发布问题和我尝试的解决方案。 问题: 给定以下函数定义:void swap(do
任何人都知道如何实现这一目标。我已经尝试了通常的公式,但我只得到正数 Double.NEGATIVE_INFINITY) return d; } } 这将以相同的概率
我是一名优秀的程序员,十分优秀!