2013-01-03 56 views
-2

我讓用戶輸入一個字符串(命令)。 和我的代碼是檢查用戶輸入了什麼。 如「ADD」「DIVIDE」「SUBTRACT」等等......比較兩個字符串並讀取數字

並且會有一個附加的數字。 「ADD3」或「ADD5」

我應該如何在一個有效的方式編寫這一點, 而不是做的if語句

這是瘋狂的數額是我現在所擁有的

public class Cell { 

public static void main (String[] args) { 

    String command = ""; 

    command= JOptionPane.showInputDialog(null, "Enter The Command"); 

    if (command.equalsIgnoreCase("ADD")) { 
       BLAH BLAH BLAH 
} 
+1

如果用戶輸入'ADD 3',看起來更容易取數。 – kaysush

+4

請提供適用於上述用例的完整代碼。 – Swapnil

+0

Java 7允許使用'Strings'開關''。或者你可以使用'地圖',其中的鍵是'ADD','SUB','DIV',... – MrSmith42

回答

3

我認爲你應該做的:

userInput.toLowerCase().startsWith("add"); // or divide/subtract/multiply... 

我覺得這個代碼是不言自明,除了toLowerCase()可能。這是爲了模擬不區分大小寫。

+1

@Oxtis只要確保沒有任何操作是另一個操作的前綴,或者這可能不起作用。 (或者您可以按長度排序以避免此問題。) –

2

最有效的方法是以下 假設用戶輸入ADD 3

String[] inputs=command.split(" "); 
String actualCommand=inputs[0]; 
int number=Integer.parseInt(inputs[1]) 

在此之後使用switchif-else檢查實際指揮和做的東西與數量。

+0

大多數Java版本不允許使用字符串的switch語句。 – 11684

+0

所以你可以使用普通的'if-else'語句。 :) – kaysush

+1

是的,我評論過, 11684