Arraylist Postfix验证

时间:2015-04-19 16:48:02

标签: arraylist

有人可以帮我解决这个问题吗?

他们给了我如何解决这类问题的条件。 这些是条件: 1.Scanner 2.Arraylist 3.输入与空间分开 4.如果输入是整数(例如任何数字),则ctr将为++,如果运算符(*,/,+, - ),则ctr将为 - 如果输入不是整数或运算符,则其输入无效。 继续?最后的Y / N.

最佳方法是什么?有人可以帮我。非常感谢。谢谢! (我是java新手,我想学习)

1 个答案:

答案 0 :(得分:0)

System.out.println(“输入Postfix Notation:”);             notation = input.nextLine();

    if(notation.matches(".*[a-zA-Z].*"))
    {
        System.out.println("Invalid Input sorry.");
    }

    else if(notation.charAt(0) <= 0 || notation.charAt(1) >= 9)
    {
     for(int x = 0; x < notation.length(); x++)
     {

        list.add(notation.charAt(x));
        if(list.get(x).equals('/') || list.get(x).equals('*')||list.get(x).equals('-')|| list.get(x).equals('+'))
        {
                 ctr--;

        }
         else if(list.get(x) <= 0 || list.get(x) >= 9)
                 ctr++;

         }
     }
    else if(notation.charAt(0) == '/' || notation.charAt(0) == '*' || notation.charAt(0) == '-' || notation.charAt(0) == '+' ||
            notation.charAt(1) == '/' || notation.charAt(1) == '*' || notation.charAt(1) == '-' || notation.charAt(1) == '+')
            System.out.println("The first two numbers should be operands");

    if(ctr == 1)
    {
        System.out.println("The postfix is valid.");

    }
    else
    {
        System.out.println("The postfix is invalid.");
    }