Java 如果(2>;1){System.out.println(";hello";;}不起作用,为什么还要执行其他操作?

Java 如果(2>;1){System.out.println(";hello";;}不起作用,为什么还要执行其他操作?,java,Java,中缀到后缀转换中的问题 当获取的值为“-”时,编译器不会在else if块中输入(最后一种情况) 包com.conversion; 导入java.util.Scanner; 公共类主类{ 专用静态扫描仪sc; 公共静态void main(字符串[]args){ //TODO自动生成的方法存根 字符串s; sc=新扫描仪(系统英寸); System.out.println(“输入完整表达式”); s=sc.next(); stackop ob=新的stackop(); System.out.pri

中缀到后缀转换中的问题

当获取的值为“-”时,编译器不会在else if块中输入(最后一种情况)

包com.conversion;
导入java.util.Scanner;
公共类主类{
专用静态扫描仪sc;
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
字符串s;
sc=新扫描仪(系统英寸);
System.out.println(“输入完整表达式”);
s=sc.next();
stackop ob=新的stackop();
System.out.println(“您提供的输入表达式是:“+s”);
//System.out.print(“等效后缀符号为:”);
System.out.println(“\n\n”);
ob.后缀;
}
}
stackop类{
char stack1[]=新字符[50];
int top;
无效推送(char ch)
{
top++;
stack1[top]=ch;
System.out.println(“被推送的元素为:+ch”);
System.out.println(“----top的当前值在推送之后:“+top+”----”;
}
char pop(){
char ch;
ch=堆栈1[顶部];
//System.out.println(“top的当前值为:“+top”);
System.out.println(“弹出的元素是:“+ch”);
--顶部;
System.out.println(“----top的当前值在弹出框“+top+”----”)之后;
返回ch;
}
布尔isalpha(字符a)
{

如果((a>='a'&&a=0&&a标题和问题没有任何共同之处,您也应该格式化您的代码。尽管如此,这里是我对问题的回答,如果您编写了适当的标题,您可能会问这个问题

实际上,在编程中0!='0',因为'0'被转换成它的整数值,在ASCII中是48,比较是在0和48之间。 因此,您的isalpha方法应该如下所示:

boolean isalpha(char a)
{
    if((a>='a' && a<='z')||(a>='0' && a<='9'))
        return true;
    else
        return false;
}
boolean isalpha(char a)
{
    return Character.isDigit(a) || Character.isAlphabetic(a);
}
在这段代码中:

else if(operator(ch))
{
    if(prech(stack1[top])==0||(prech(stack1[top])<=prech(ch))||(prech(stack1[top])=='('))
                push(ch);
}
else if(prech(stack1[top]) > prech(ch))

一堆不相关的代码+不可理解的问题。首先创建一个/并正确地设置问题的格式如果(2>1){System.out.println(“hello”);}
在您的代码中。如果它没有转到此
,它很可能会转到前面的
如果
如果您正确阅读了代码,您就会知道他指的是哪一行。
else if(operator(ch))
{
    if(prech(stack1[top])==0||(prech(stack1[top])<=prech(ch))||(prech(stack1[top])=='('))
                push(ch);
}
else if(prech(stack1[top]) > prech(ch))
else if(operator(ch))
{
    if(prech(stack1[top])==0||(prech(stack1[top])<=prech(ch))||(prech(stack1[top])=='('))
    {
        push(ch);
    }
    else if(prech(stack1[top]) > prech(ch)) { ... }
}