gpt4 book ai didi

java - java 中的数学方程的输出不正确,对于第一人称和第二人称

转载 作者:行者123 更新时间:2023-12-01 09:57:01 25 4
gpt4 key购买 nike

当我在 JOptionPane 中输入用于获取提示的提示总数时,它只会在第一人称上重新打印我为 jOptionPane 输入的内容。即使数学方程使用的是用总小时数除以总小费时得到的费率变量。程序计算的最后一个人总是正确的,但其他任何人都是错误的。我不确定是什么原因导致这种情况发生,我已经尝试了我所知道的一切来解决这个问题,但我在网上没有找到任何信息来帮助我解决这个问题。我正在使用 NetBeans 创建 gui,并且为每个按钮插入了我的代码

private void getHoursActionPerformed(java.awt.event.ActionEvent evt) {                                         
DecimalFormat monn = new DecimalFormat( "0.00" );

hourss = blake += barker += kevin += pierce += sam += dolphy += johnC += johnD += slut += tanner += ray += trevor += zachB += zachW += petty += mikey += mitch += marge += mattB += kolb += kyle += jackson += clinton += cody += cam += bailey += bMart += addison;

tip = JOptionPane.showInputDialog( null, "Total Amount Of Tips?" );

tips = Double.parseDouble( String.valueOf( tip ) );

String th = String.valueOf( hourss );

double hh = Double.parseDouble( String.valueOf(hourss) );

totalHoursJTextField.setText( th );

Rate = tips / hh;

rateJTextField.setText( String.valueOf(monn.format(Rate) ) );

test1.setText( bp );
test2.setText( kev );
test3.setText( bar );
}

private void calcBnActionPerformed(java.awt.event.ActionEvent evt) {




}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String rrate = rateJTextField.getText();
double ff = Double.parseDouble( rrate );

br2 = barker * ff;
kv2 = kevin * ff;
bp2 = ff * blake;
pk = pierce * ff;

test.setText( tip );

output.append( "\n" + "Barker" + "\t" + br2 + "\n" + "--------------------" );
output.append( "\n" + "Kevin" + "\t" + kv2 + "\n" + "--------------------" );
output.append( "\n" + "Blake" + "\t" + bp2 + "\n" + "--------------------" );
output.append( "\n" + "Pierce" + "\t" + pk + "\n" + "--------------------" );

Picture showing the output and the rate and total hours.

最佳答案

你的问题是这一行:

hourss = blake += barker += kevin += pierce; // rest omitted

让我们从这些值开始:

blake = 3.4; barker = 6.3; kevin = 3.2; pierce = 0;

现在,如果执行有问题的行,您将获得以下值:

hourss == 12.9; blake == 12.9; barker == 9.5; kevin == 3.2; pierce == 0;

小费为 230,您得到的汇率为 17.8294(四舍五入到小数点后四位),然后

  • 对于 blake:17.83*12.9(四舍五入 230.007)而不是 17.8294*3.4(四舍五入 60.62)
  • 对于巴克:17.83*9.5(四舍五入 169.385)而不是 17.8294*6.3(四舍五入 112.33)
  • 对于凯文:17.83*3.2(四舍五入 57.056)而不是 17.8294*3.2(四舍五入 57.05)

如果将“相反”值加在一起,总共会得到 230...

<小时/>

所以你绝对应该更换线路

hourss = blake += barker += kevin += pierce += sam += dolphy += johnC += johnD += slut += tanner += ray += trevor += zachB += zachW += petty += mikey += mitch += marge += mattB += kolb += kyle += jackson += clinton += cody += cam += bailey += bMart += addison;

hourss = blake + barker + kevin + pierce + sam + dolphy + johnC + johnD + slut + tanner + ray + trevor + zachB + zachW + petty + mikey + mitch + marge + mattB + kolb + kyle + jackson + clinton + cody + cam + bailey + bMart + addison;

此外,您还需要进行大量从 doubleString 的转换,这会降低您的精度(和性能,但这不是目前的问题)。

关于java - java 中的数学方程的输出不正确,对于第一人称和第二人称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37123199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com