功能if语句,改进它

时间:2013-12-09 20:04:21

标签: if-statement

if (dog.equalsIgnoreCase("yes")) {
    drink.don.setCost(8.75);
    drink.don.getType();
    drin.l.add(drink.don.getType());
    drink.c.add((double) coke.don.getCost());
    cokeprice = coke + fanta.don.getCost();
else if (dog.equalsIgnoreCase("no"))
else catch(IllegalArgumentException iae) {
    System.out.println("requires yes or no");
}
}

忽略愚蠢的命名约定必须改变它们,让任何同学决定偷走任何东西; p

我正在尝试获取我的if语句以允许用户输入yes并执行条件,然后如果输入“no”则没有任何反应只是移动到下一个语句,然后其他任何内容都是非法的并且程序崩溃

2 个答案:

答案 0 :(得分:1)

我不喜欢抛出异常,特别是如果我希望用户可能输入我不想要的内容。我宁愿做类似

的事情
if (userInput.equalsIgnoreCase("Yes")) {
    // do yes
}
else if (userInput.equalsIgnoreCase("No")) {
    // do no
}
else {
    // Sorry, invalid input
}

答案 1 :(得分:0)

我不知道您使用的是哪种语言,也不知道您使用的是哪种方法,但这里是C#中类似语句的示例。

首先,使用方法将用户输入转换为true或false(布尔值):

public static bool IsYes (string userInput)
{
    if (userInput == "yes')
    {
         return true;
    }
    else  if (userInput == "no")
    {
        return false;
    }
    else
    {
        throw new  CustomException();
    }
}

接下来,您可以获取IsYes()的结果并将其用于if else语句:

if (IsYes(userInput))
{
    // code you want to execute if "yes" 
}
else
{
    // code you want to execute if "no"
}

希望这段代码能让您了解如何使用if-else语句,但将来请更清楚地解释您的问题。请记住,这是C#,所以尽管if语句在几乎所有语言中都相似,但其他一些代码会有所不同。此外,这只是一个例子,它本身不会做任何事情。