2013-12-09 93 views
-2
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語句,提高它

我試圖讓我的if語句,以允許用戶輸入是的,做一個條件,然後如果輸入「否」,那麼沒有任何反應會移動到下一條語句上,那麼其他任何內容都是非法的,並且程序崩潰。

+2

10這是什麼語言? _This_是一個相關的標籤,遠遠超過'if-statement'。 –

+2

它看起來像Java。絕對不是JS或C/C++。如果這是Java,'else catch'肯定是無效的。如果這是一種不同的語言,這很可能也是如此。 –

+0

'else {throw new IllegalArgumentException(「req ...」); }' –

回答

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()的結果,並使用它的,如果else語句:

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

希望這段代碼能給你一個關於如何使用if-else語句的想法,但在將來請更清晰地解釋你的問題。請記住,這是C#,因此雖然幾乎所有語言的語句都相似,但其他代碼的其他代碼會有所不同。而且,這僅僅是一個例子,它不會自己做任何事情。

+1

非常感謝你 – user3063201

+0

完全沒有問題,祝你好運程序設計,在你知道它之前,你會在代碼中思考。 – Razick

1

我不喜歡拋出異常,特別是如果我期望用戶可以輸入我不想要的東西。我寧願做類似

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

對,我在答案中做的主要原因是給出一個if,else if,else的例子,並展示一些可以使用的方法。當然,你總是可以拋出一個異常然後捕獲,並且讓catch塊做一些你所說的事情。然而,我總體上同意,有時候拋擲可能會更笨重,更不清晰。 – Razick

+0

如果我有多個if語句並且有例如一個變量是一個雙重的變量,它會計算每個if語句的成本,隨着它的增加。說出前兩個if語句與其餘的不同,例如兩罐飲料。但是,你只能有一個。無論如何,我可以延長我的前兩個if語句來說,如果第一個if語句是真的,那麼下一個必須是假的。最初,我試着在第二個if語句中說,如果變量大於0,那麼不要讓下一個if語句成立,因爲它每次都會增加成本。 – user3063201

+0

考慮問一個新問題。沒有視覺例子很難想象你的意思。 – MxyL