Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我怎样才能知道它们是否属于同一类型 private静态输入(String str) { 字符c; 积分项1; 布尔结果; int n=str.length(); Stack StItem=新堆栈(n); Queue QItem=新队列(n); 对于(int i=0;i_Java_Comparison_Dereference - Fatal编程技术网

Java 我怎样才能知道它们是否属于同一类型 private静态输入(String str) { 字符c; 积分项1; 布尔结果; int n=str.length(); Stack StItem=新堆栈(n); Queue QItem=新队列(n); 对于(int i=0;i

Java 我怎样才能知道它们是否属于同一类型 private静态输入(String str) { 字符c; 积分项1; 布尔结果; int n=str.length(); Stack StItem=新堆栈(n); Queue QItem=新队列(n); 对于(int i=0;i,java,comparison,dereference,Java,Comparison,Dereference,我认为您要查找的是instanceof,格式如下: private static void ParseInput(String str) { char c ; Integing item1; boolean result; int n =str.length(); Stack StItem = new Stack(n); Queue QItem = new Queue(n);

我认为您要查找的是instanceof,格式如下:

private static void ParseInput(String str) 
    {
        char c ;
        Integing item1;
        boolean result;
        int n =str.length();
        Stack StItem = new Stack(n);
        Queue QItem = new Queue(n);
        for (int i=0; i<n; i++){
            c = str.charAt(i);
            if ((c == '(') || (c=='[') || (c=='{')){
                Integing item = new Integing(i,c);
                StItem.push(item); 
            }else if((c==')') || (c==']') || (c=='}')){
                item1 = StItem.pop();               
                result = item1.getChar().class ==(c.class); //where i do the check
                if (result ){                     
                    Pair pair1 = new Pair(item1.getNumber(),i);
                    QItem.put(pair1);
                }else{
                    System.out.println("Syntax error");
                    System.exit(-1);
                }
            }
        }           
    }



public class Integing
{
    private int num;
    private char par;

    public  Integing(int numb,char paren)
    {
        num = numb;
        par = paren;
    }

    public  char getChar(){
        return this.par;   //The method i use to get the exact type
    }

    public  int getNumber(){
        return this.num;
    }

}
以下是一些有关用法的文档:


<>我对你想做的事情有点困惑,尽管在你的代码中实现了函数。但是,我看不出它是如何在代码的上下文中帮助你的。

请把你的错误粘贴为文本,而不是图像。总之,C和ITEM1. PAR都是字符,那么它们是如何不同类型的呢?U不能调用字符上的GET类,因为char是一个原始类型。总之,这里没有用。我的任务表示,ItEM1.PAR是从SITTEM中提取的左括号,所以我应该检查它是否与C相同类型。谢谢链接BTW:感谢您的链接,毕竟我的代码中确实不需要比较。不过,您的建议可能有助于其他人比较char,因为它是一个基本类,.getClass不起作用!:)
Boolean isChar = item instanceof Character;