我想计算文本字段中整数的值,而忽略整数之前所需的文本字符串?
我正在制作自己的助理程序,连接到我写的银行管理程序。我希望用户能够输入命令字段:添加$ 5或添加$ 10500或任何其他金额。我将如何计算“10500”而忽略“添加$”。 “add $”用于检查用户输入的命令以执行操作。这是我迄今为止。我想计算文本字段中整数的值,而忽略整数之前所需的文本字符串?
} else if (AssistantFrame.getCommand().equalsIgnoreCase("add $5")) { BankBalance.addToBalance(5);
}
这是处理向余额添加资金的代码。
public static void addToBalance(int balanceAdd){ Commands.setContinuity(0);
if(fileBalance.exists()) {
try {
loadBalance();
} catch (FileNotFoundException | UnsupportedEncodingException e) {
}
balance += balanceAdd;
try {
saveBalance();
} catch (FileNotFoundException | UnsupportedEncodingException e) {
}
AssistantFrame.updateAssistant("Your balance has been succesfully updated.\nYour new balance is - $" + balance);
} else {
AssistantFrame.updateAssistant("Sorry, but you don't seem to have a personal\nbank balance created yet.");
}
回答:
类似的东西:
String command = AssistantFrame.getCommand(); int amount = Integer.parseInt(command.replaceAll("[^\\d]",""));
BankBalance.addToBalance(amount);
回答:
我会做的是通过所有的字符重复检查,看看他们的价值是48和57之间,包容性的,如果是的话,加他们到一个字符串。您将只有一个包含数字的字符串。使用“的Integer.parseInt(...)”
回答:
您可能使用String.startsWith(String)
然后,您可以只解析字符串,然后使用String.substring(int)
你解析之前。像,
String command = "add $10"; if (command.startsWith("add $")) {
int v = Integer.parseInt(command.substring(5));
System.out.println(v);
}
,输出
10
回答:
你所要实现的目标是解析命令。你可以简单地在下面的例子中,如果您的命令会很简单:
if(command.startsWith("add $")){ money=command.substring(5);
todo=ADD;
else if(command.startsWith("something else")){
...
todo=SOMETHING_ELSE;
}
...
或者,如果你的命令将在本质上更复杂,然后通过词法分析器代码。
...词法分析,词法分析或标记是将字符序列(例如在计算机程序或网页中)转换为标记序列(具有指定的标识含义的字符串)的过程, ...... Wikipedia
一个这样的例子是:here
以上是 我想计算文本字段中整数的值,而忽略整数之前所需的文本字符串? 的全部内容, 来源链接: utcz.com/qa/257176.html