我想计算文本字段中整数的值,而忽略整数之前所需的文本字符串?

我正在制作自己的助理程序,连接到我写的银行管理程序。我希望用户能够输入命令字段:添加$ 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

回到顶部