2013-01-03 30 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