java:从表中获取值并应用公式

java:从表中获取值并应用公式,java,Java,在下面的代码中,我尝试计算公式: y=val1+val2+val4/所有值 val是从表中获取的字符串 我的目标是,对于第0行,从每列“values”中获取所有值,然后计算公式 之后,对每一行执行相同的操作。 但是我的代码没有打印出第一步的预期行为 谢谢 > String[] values = { x1,x2,x3,x4}; > > String val = null ; > for (int i = 0; i &

在下面的代码中,我尝试计算公式:

y=val1+val2+val4/所有值

val是从表中获取的字符串

我的目标是,对于第0行,从每列“values”中获取所有值,然后计算公式

之后,对每一行执行相同的操作。 但是我的代码没有打印出第一步的预期行为

谢谢

>     String[] values = { x1,x2,x3,x4};
>         
>         String val = null ;
>         for (int i = 0; i < values .length; i++)
>         {
>            val = table.getValue(0, table.getColumnValue(x[i]));
>             
>         }
> 
> //my fomula y = value[x[0]]+value[x[1]]+value[x[3]]/values[0..3]
> 
> int Num =  Integer.parseInt(value[x[0]])+Integer.parseInt(value[x[1]])+Integer.parseInt(value[x[3]]); 
> int Denum =  Integer.parseInt(val );
> 
> y=Num/Denum ;
>字符串[]值={x1,x2,x3,x4};
>         
>字符串val=null;
>for(int i=0;i         {
>val=table.getValue(0,table.getColumnValue(x[i]);
>             
>         }
> 

>//我的公式y=value[x[0]]+value[x[1]]+value[x[3]]/values[0..3] > >int Num=Integer.parseInt(值[x[0]])+Integer.parseInt(值[x[1]])+Integer.parseInt(值[x[3]]); >int Denum=Integer.parseInt(val); > >y=数量/密度;
您确定变量
值不应该是此代码中的
值吗

"1" + "2" = "12" //string
1 + 2 = 3 //int
无法添加字符串,必须先将其转换为数字:

int[] valuesInt = new int[values.length];
for (int i = 0; i < values .length; i++) {
    valuesInt[i] = Integer.parseInt(values[i]);
}
环中的钙质密度:

int Denum = 0; 
for (int i = 0; i < values .length; i++) {
    Denum += Integer.parseInt(values[i]);
}
int-Denum=0;
for(int i=0;i
(值[x[0]]+值[x[1]]+值[x[3]])可能是问题所在。连接可能面临错误。您可以尝试像int Num=Integer.parseInt(值[x[0]])+Integer.parseInt(值[x[1]])+Integer.parseInt(值[x[2]])@提到:我不知道这是不是一个错误,你用了“value”而不是“values”@K先生:这只是一个错误,我每次都用parseInt,现在我得到了总和,但是我怎么能对牛仔的值做呢,因为它是在for()中计算出来的,我需要让val的所有值都相同?这是因为,每次循环工作时,您都将“值”保存到val。因此,在最后一次迭代中,“val”将仅包含检索到的最后一个值。你能解释一下Denum的部分吗?.“所有值”的意思是什么?如果你想对每个值的和进行除法,我认为你的循环结束“}”是错误的。计算“y”后关闭它。可能您可以使用y[]作为数组来存储每个迭代步骤的结果。不,如我所说,Num value返回连接,而不是sum您是否尝试过
int Num=Integer.parseInt(值[x[0]])+Integer.parseInt(值[x[1]])+Integer.parseInt(值[x[3]])@K先生很抱歉重复了你的回答,我还没有看到earlier@lola,还有一件事-您的
for
循环等于简单地编写
val=table.getValue(0,table.getColumnValue(x[values.length-1]),可能是这里出错了?@Maalithar,我只想求val的所有值之和,然后求Num/Denum,但在for boucle之后,val等于最新值value@lola,它是相等的,因为您不添加新值,只需替换它们。如果要添加它们,请使用
+=
而不是
=
,并确保添加的是
int
值您在rwice中使用的是什么?denum在这里使用了两次?总结一下:1)获取值(valueInt)2)计算另一个束内的denum?如果可以,我怎么计算?在boucle内部?两种不同的获取Denum的方法(循环内或循环后),您只需要使用其中一种。
int Denum = 0; 
for (int i = 0; i < values .length; i++) {
    Denum += Integer.parseInt(values[i]);
}