在进行编码分配时,我们必须合并方法并将其返回。但是,这是重点。我正在努力计算价格部分。好的,这就是我坚持的要点。程序询问时,是您的车和进口车。如果答案是肯定的,则将向您收取7%的进口税,否则,将不收取费用。现在,该程序要求提供四项服务,根据是或否,将根据其答案来收取费用。
因此,如果用户想要换油和调优,并且如果他们的汽车是进口车,则服务价格将与进口税一起加在一起;如果汽车不是进口车,但想要所有服务,则将收取费用显示时未添加进口税等。最终结果将显示为“税前为$#,税后总计为...”如果需要if语句,但我不知道从哪里开始,因为我主要是为是或否而苦苦挣扎...有什么帮助吗?我的教授建议我使用一个蓄电池,所以我加了一个。。无济于事,我迷路了,任何帮助将不胜感激。
netlify.toml
答案 0 :(得分:1)
如果您希望将费用添加到答案的值中,则应该仅在一个for循环中执行此操作,并且因为服务和价格的索引只是使用if语句来检查是否为是>
String[] services = {"Oil Change", "Coolant Flush", "Brake Job", "Tune Up"};
for(int i=0; i<services.length; i++)
{
System.out.println("Do you want a " +services[i]);
answer = keyboard.next();
if(answer.equalsIgnoresCase()){
answer += prices[i]
}
}
double amount = 0;
double[] price = {39.99, 59.99, 119.99, 109.99};
for(int i =0; i<price.length; i++)
{
amount = (price[i] + price [i]);
}
答案 1 :(得分:1)
在谈论您的代码之前,建议您阅读本文。
这有点轻率,但是有一个很深的道理。并巧妙地映射了我40年前教给我的调试技术。
首先,我请您注意:
System.out.println("Is your car an import?");
while (true)
{
answer = keyboard.nextLine();
if (answer.equalsIgnoreCase("yes"))
{
yn = true;
break;
}
else if (answer.equalsIgnoreCase("no"))
{
yn = false;
break;
}
else
{
System.out.println("Sorry, I didn't catch that. Please answer yes or no");
}
}
该代码在询问“是或否”问题并获得答案方面做得很好。它包含用于重试代码的内容,如果用户使用无法识别为“是”或“否”的内容进行响应,则该代码会重试。
所以我猜想有人在为您编写了该代码...或者您在某个地方找到了它。您需要仔细阅读该代码,并确保您完全了解其工作原理。
接下来,我提请您注意:
for(int i=0; i<services.length; i++)
{
System.out.println("Do you want a " +services[i]);
answer = keyboard.next();
}
此代码没有意义。 (向您的橡皮鸭解释一下!)
您先前的代码是一个很好的例子,说明如何询问是/否问题。但这不是这样的:
然后这个:
double amount = 0;
double[] price = {39.99, 59.99, 119.99, 109.99};
for(int i =0; i<price.length; i++)
{
amount = (price[i] + price [i]);
}
这似乎是试图将服务项目的价格加到总额中。但是:
该如何解决?
从第一个for
循环中记住答案并在第二个for
循环中使用答案的问题……实际上是您可以/应该避免的问题。而是将两个循环合并为一个。这是一些伪代码:
for each service:
ask the user if he wants this service
if the user wants this service:
add the service cost to the total.
理解其的逻辑,并将其转换为Java代码。 (是的,我可以为您写这本书,但这违背了目的!)