检查带数字的数学方程式是否只有一个数字

松枝

我正在制作类似于游戏24的程序。

我需要检查用户的输入(使用程序提供的四个随机数的数学方程式),以查看用户给出的数字是否只有一位数字。

例如:

该程序吐出6 4 9 5

用户可以输入9 + 5 + 6 + 4(等于24)。

但是我不希望他们能够做95-64之类的事情(不正确,仅举一个例子)来达到24。

如何检查方程式中的数字是否只有一位?

/ ** *接受用户的数学问题。*然后... *确保输入的数学问题符合规则,等于24。*规则:必须至少具有一个乘法,除法,加法或减法符号。*输入的数字只有一位。*问题等于24。* @param none * @返回true或false *如果问题遵循规则且等于24-真(玩家获胜)*如果问题不遵循规则且等于24-false(玩家输掉)*如果问题不符合规则且不等于24-假(玩家输了)*
* / public void mathProblem(){扫描程序scan = new Scanner(System.in);

    System.out.println("");
    String response = scan.nextLine();

    boolean done = false;

    while (!done)
    {
        if (response.contains("*") || response.contains("/") || response.contains("+") || response.contains("-"))
        {
            //If statement to check and see if numbers in response ONLY have ONE number.
        }

        else if (!response.contains("*") || !response.contains("/") || !response.contains("+") || !response.contains("-"))
        {
            done = true;    
        }
    }        
}
短跑运动员

检查输入的一种方法是使用正则表达式。例如:

if (!Pattern.matches("(\\s*\\d\\s*[+-*/]){3}+\\s*\\d", input)) {
    ...
}

该表达式仅允许一个数字,并自动忽略空格并检查有效的运算符(避免使用所有contains语句)。更好的是,您可以将捕获组添加到表达式中以自动从输入中获取数字和运算符。

Pattern pattern = Pattern.compile("\\s*(\\d)\\s*([+-*/])\\s*(\\d)\\s*([+-*/])\\s*(\\d)\\s*([+-*/])\\s*(\\d)");
Matcher matcher = pattern.matcher(input);
while (!matcher.matches()) {
    // print error and accept new input
    matcher = pattern.matcher(input);
}

int result = Integer.parseInt(matcher.group(1));
for (int g = 2; g <=6; g+= 2) {
    switch (matcher.group(g)) {
    case '*':
        result *= Integer.parseInt(matcher.group(g + 1));
        break;
    case '+':
        result += Integer.parseInt(matcher.group(g + 1));
        break;
    // and so on
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一个整数的随机数学方程式

来自分类Dev

编写一个循环作为数学方程式

来自分类Dev

如何评估一个数学方程式,文件中的每一行一个?

来自分类Dev

插入很多行而只有一个数字

来自分类Dev

TTK,按钮上只有一个数字

来自分类Dev

给定数字,检查数字是否构成加法方程式?

来自分类Dev

用两个数字创建方程式

来自分类Dev

为什么在Javascript中只有一个数字的数组才是数字?

来自分类Dev

如何检查一个数字是否可以被列表中的每个数字整除

来自分类Dev

如果只有一个数字匹配,如何使一个标签变成绿色

来自分类Dev

检查列表中的数字是否可被另一个数字整除的最有效方法

来自分类Dev

是否有一个数字“值等于”?

来自分类Dev

检查一个数字是否可以由一个数字及其相反的数组成

来自分类Dev

使用Python递归检查一个数字是否可以被其他数字平均整除

来自分类Dev

写下条件-三个数字中只有一个是5的倍数

来自分类Dev

为什么只有一个数字项的数组可以通过某种算术使用?

来自分类Dev

通过忽略NA,仅选择条目只有一个数字/字符的列

来自分类Dev

修改文本文件时,只有一个数字受约束

来自分类Dev

在c ++中随机生成一个数字,但只有某些倍数

来自分类Dev

Bash数学:除以一或计算一个数字是否可被另一个数字整除的错误

来自分类Dev

构造一个循环来检查一个数字的数字之和是否可以被 3 整除

来自分类Dev

查找所有均分一个数字的数字

来自分类Dev

需要一个程序要求用户输入2个整数,检查第二个数字是否是第一个数字的倍数

来自分类Dev

生成具有一个未知数的线性方程式(C ++)

来自分类Dev

有一个对象是用sprintf编写的方程式,在R中求值

来自分类Dev

如何重复对一个单元格中的所有数字求和,直到只有一个数字?

来自分类Dev

检查一个数字是否被其他平均数除

来自分类Dev

检查一个数字是否可以被 20 整除 MATLAB

来自分类Dev

正则表达式只有一个字符和7个数字

Related 相关文章

  1. 1

    一个整数的随机数学方程式

  2. 2

    编写一个循环作为数学方程式

  3. 3

    如何评估一个数学方程式,文件中的每一行一个?

  4. 4

    插入很多行而只有一个数字

  5. 5

    TTK,按钮上只有一个数字

  6. 6

    给定数字,检查数字是否构成加法方程式?

  7. 7

    用两个数字创建方程式

  8. 8

    为什么在Javascript中只有一个数字的数组才是数字?

  9. 9

    如何检查一个数字是否可以被列表中的每个数字整除

  10. 10

    如果只有一个数字匹配,如何使一个标签变成绿色

  11. 11

    检查列表中的数字是否可被另一个数字整除的最有效方法

  12. 12

    是否有一个数字“值等于”?

  13. 13

    检查一个数字是否可以由一个数字及其相反的数组成

  14. 14

    使用Python递归检查一个数字是否可以被其他数字平均整除

  15. 15

    写下条件-三个数字中只有一个是5的倍数

  16. 16

    为什么只有一个数字项的数组可以通过某种算术使用?

  17. 17

    通过忽略NA,仅选择条目只有一个数字/字符的列

  18. 18

    修改文本文件时,只有一个数字受约束

  19. 19

    在c ++中随机生成一个数字,但只有某些倍数

  20. 20

    Bash数学:除以一或计算一个数字是否可被另一个数字整除的错误

  21. 21

    构造一个循环来检查一个数字的数字之和是否可以被 3 整除

  22. 22

    查找所有均分一个数字的数字

  23. 23

    需要一个程序要求用户输入2个整数,检查第二个数字是否是第一个数字的倍数

  24. 24

    生成具有一个未知数的线性方程式(C ++)

  25. 25

    有一个对象是用sprintf编写的方程式,在R中求值

  26. 26

    如何重复对一个单元格中的所有数字求和,直到只有一个数字?

  27. 27

    检查一个数字是否被其他平均数除

  28. 28

    检查一个数字是否可以被 20 整除 MATLAB

  29. 29

    正则表达式只有一个字符和7个数字

热门标签

归档