Java 请检查我的逻辑错误

Java 请检查我的逻辑错误,java,Java,如果输入为x=y+5 输出必须是: Token 1 is x is identifier Token 2 is = Token 3 is y is identifier Token 4 is + Token 5 is 5 这是我做的代码,我不知道我的if条件有什么问题 char[] ident = {'x','y','z','a','b','c','k'}; Scanner sc = new Scanner(System.in); System.out.println("Please Ent

如果输入为
x=y+5

输出必须是:

Token 1 is x is identifier
Token 2 is =
Token 3 is y is identifier
Token 4 is +
Token 5 is 5
这是我做的代码,我不知道我的if条件有什么问题

char[] ident = {'x','y','z','a','b','c','k'};

Scanner sc = new Scanner(System.in);
System.out.println("Please Enter Your String");
String x = sc.nextLine();


StringTokenizer t = new StringTokenizer(x);

for (int k = 0; k < ident.length; k++) {
    for (int j = 1; j < x.length()+1; j++) {
        char m = x.charAt(j);


        if (m==ident[k]) {

            System.out.println("Token " + j + " is " + t.nextToken()+" is identifier");

        } else {
            System.out.println("Token " + j + " is " + t.nextToken());
        }

    }

}
char[]ident={'x','y','z','a','b','c','k'};
扫描仪sc=新的扫描仪(System.in);
System.out.println(“请输入您的字符串”);
字符串x=sc.nextLine();
StringTokenizer t=新的StringTokenizer(x);
对于(int k=0;k
在StringTokenizer下面不需要两个循环。你可以这样做:

final String str = new String(ident);
char m;
for (int j = 0; j < x.length(); j++) {
    m = x.charAt(j);
    if (str.indexOf(m) >= 0) {
       System.out.println("Token " + j + " is " + m+" is identifier");
    } else {
       System.out.println("Token " + j + " is " + m);
    }
}   
final String str=新字符串(ident);
charm;
对于(int j=0;j=0){
System.out.println(“令牌“+j+”是“+m+”是标识符”);
}否则{
System.out.println(“令牌”+j+“是”+m);
}
}   

运行代码了解问题:欢迎您。如果您认为答案有帮助,请通过接受答案来结束此问题,以便其他人在不久的将来将其用作参考。