gpt4 book ai didi

java - 难度设置变量

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

我应该为我的编程类(class)编写一段代码,就像您在网上订购东西一样。我已经达到了让程序获取输入的商品编号并返回价格(不含运费)的部分,但是每次运行它时,它似乎都会自动将我用来表示价格的变量设置为13. 应设置为零。这是我的代码中给我带来问题的部分:

class Order {
public Order() {}

public double price(String odd, double quant, int g) {
double set;
if (g == 1) {
if (odd.equals("AT413")) {
set = (50.03 * quant) + set;
} else if (odd.equals("AT414")) {
set = (60.04 * quant) + set;
} else if (odd.equals("AT415")) {
set = (147.01 * quant) + set;
} else if (odd.equals("AT416")) {
set = (38.00 * quant) + set;
} else if (odd.equals("AT417")); {
set = (13.00 * quant) + set;
}
} else if (g == 2) {
if (odd.equals("AT513")) {
set = (50.03 * quant) + set;
} else if (odd.equals("AT514")) {
set = (50.00 * quant) + set;
} else if (odd.equals("AT515")) {
set = (130.02 * quant) + set;
} else if (odd.equals("AT516")) {
set = (25.03 * quant) + set;
} else if (odd.equals("AT517")); {
set = (13.00 * quant) + set;
}
} else if (g == 3) {
if (odd.equals("AT613")) {
set = (50.03 * quant) + set;
} else if (odd.equals("AT614")) {
set = (86.00 * quant) + set;
} else if (odd.equals("AT615")) {
set = (130.00 * quant) + set;
} else if (odd.equals("AT616")) {
set = (40.04 * quant) + set;
} else if (odd.equals("AT617")); {
set = (13.00 * quant) + set;
}
}
return set;
}
}

我尝试了一些不同的事情。我让它从主代码中获取变量集,但这不起作用,因为即使我向类发送 0,它仍然设置...设置(对那个变量名感到抱歉)为 13。我尝试摆脱最后的 + 集,但这不起作用,因为它只是打印出 13 作为订单成本,即使我放入了应该调用 50.03 价格的字符串。我更改了匹配价格以查看会发生什么,并且我意识到它正在使用 AT617 从最后一行代码中提取设置变量的数字,但我不知道为什么要这样做或如何修复它。请提供帮助,我们将不胜感激。

最佳答案

如果您格式化了代码,您可能会看到这一点

public double price(String odd, double quant, int g) {
double set = 0;
if (g == 1) {
if (odd.equals("AT413"))
set = 50.03 * quant + set;
else if (odd.equals("AT414"))
set = 60.04 * quant + set;
else if (odd.equals("AT415"))
set = 147.01 * quant + set;
else if (odd.equals("AT416"))
set = 38.00 * quant + set;
else if (odd.equals("AT417"))
;
{
set = 13.00 * quant + set;
}
} else if (g == 2) {
if (odd.equals("AT513"))
set = 50.03 * quant + set;
else if (odd.equals("AT514"))
set = 50.00 * quant + set;
else if (odd.equals("AT515"))
set = 130.02 * quant + set;
else if (odd.equals("AT516"))
set = 25.03 * quant + set;
else if (odd.equals("AT517"))
;
{
set = 13.00 * quant + set;
}
} else if (g == 3) {
if (odd.equals("AT613"))
set = 50.03 * quant + set;
else if (odd.equals("AT614"))
set = 86.00 * quant + set;
else if (odd.equals("AT615"))
set = 130.00 * quant + set;
else if (odd.equals("AT616"))
set = 40.04 * quant + set;
else if (odd.equals("AT617"))
;
{
set = 13.00 * quant + set;
}
}
return set;
}

有一些看起来很奇怪的东西,比如

        else if (odd.equals("AT417"))
;
{
set = 13.00 * quant + set;
}

删除该分号或 if (odd.equals("AT417")) 情况会执行空语句,并且任何情况下都会不必要地包含 {} set = 13.00 * quant + set ; 这会弄乱你所有的结果。

关于java - 难度设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196653/

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