有人可以帮我解决这个问题吗?
他们给了我如何解决这类问题的条件。 这些是条件: 1.Scanner 2.Arraylist 3.输入与空间分开 4.如果输入是整数(例如任何数字),则ctr将为++,如果运算符(*,/,+, - ),则ctr将为 - 如果输入不是整数或运算符,则其输入无效。 继续?最后的Y / N.
最佳方法是什么?有人可以帮我。非常感谢。谢谢! (我是java新手,我想学习)
答案 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.");
}