gpt4 book ai didi

java - 自动售货机方案

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

我必须创建一个简单的自动售货机程序,如果用户输入 2 个 token ,他们就会得到 1 个 jar 头。我在使用代码时遇到了一些问题 - 如果我输入 1 个 token 并输入“Y”,我会收到消息“谢谢,祝您饮料愉快”,而实际上应该会出现错误。

import java.util.Scanner;
/**
* Vending Machine
*
* @author -
* @version 1.0
*/

public class VendingMachine
{

int cans = 10;
int token = 20;

public void fillUp (int cans)
{
if(cans <= 0)
{
cans = cans+=10;
}

}

public void tokenIn (int token)
{
Scanner scan = new Scanner (System.in);
System.out.println("Do you want something to drink? (Y/N)");

boolean tokenIN = false;
if(scan.next().equals("Y"))
{
tokenIN = true;
}
else
{
tokenIN = false;
}

if(tokenIN = true && token >= 2 && cans >=1)
{
cans--;
token-=2;
System.out.println("Thanks, enjoy your drink!");
}
else
{
System.out.println("Goodbye");
}

}

public void getTokenCount (int token)
{
System.out.println(token);
}

public void getCansCount (int cans)
{
System.out.println(cans);
}
}

最佳答案

我看到的一个问题在下面一行:

if(tokenIN = true && token >= 2 && cans >=1)

您在应该使用相等运算符 (==) 的地方使用了赋值运算符 (=)。当您的参数是 boolean 值时,您实际上根本不需要运算符。 if (tokenIN) 的计算结果与 if(tokenIN == true) 相同,因此该行可以缩短为:

if(tokenIN && token >= 2 && cans >= 1)

注意:原始语句 if(tokenIN = true && ...始终计算为 true因为对 true 的赋值以及 && 运算符的短路逻辑。

关于java - 自动售货机方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15412799/

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