Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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 当试图通过循环访问charsequence元素时,应用程序没有响应_Java_Android_Charsequence - Fatal编程技术网

Java 当试图通过循环访问charsequence元素时,应用程序没有响应

Java 当试图通过循环访问charsequence元素时,应用程序没有响应,java,android,charsequence,Java,Android,Charsequence,我在试着做一个计算器,它能解出像30+55-(2+7-20)这样的长表达式 但我的平等按钮有一些逻辑问题。。。贝基 我已经测试过这个逻辑问题,但无法理解。非常感谢您的帮助。这是我的密码 beq.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method st

我在试着做一个计算器,它能解出像30+55-(2+7-20)这样的长表达式

但我的平等按钮有一些逻辑问题。。。贝基

我已经测试过这个逻辑问题,但无法理解。非常感谢您的帮助。这是我的密码

    beq.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (status==1){
            get=tvdisp1.getText();                          //tvdisp1 represents textView top expression bar
    //      tvdisp2.setText(get);                           //tvdisp2 represents 2nd textView answer bar
            if(get.charAt(0)=='x') {status=0;}              //to check for syntax error
            if(get.charAt(0)=='÷') {status=0;}              // same

            for(int i =0; i <= get.length(); i++ ) {        // loop to check if the first character is digit or character.
                if (Character.isDigit(get.charAt(i))) {
                    //is digit
                } 
                else {
                    //is operator

                }
            }

            if (cbracq_c>obracs_c){status=0;}               // if number of closing brackets > opening brackets
            if ( status == 0 ) { tvdisp1.setText("Syntax Error AC to reset");}
            }
        }
    });
beq.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
如果(状态==1){
get=tvdisp1.getText();//tvdisp1表示textView顶部表达式栏
//tvdisp2.setText(get);//tvdisp2表示第二个文本视图答案栏
if(get.charAt(0)='x'){status=0;}//检查语法错误
如果(get.charAt(0)='÷'){status=0;}//相同
对于(int i=0;i obracs_c){status=0;}//如果结束括号的数量>开始括号
if(status==0){tvdisp1.setText(“语法错误AC to reset”);}
}
}
});

正如Jon Skeet所说。
计算1到far->get.length()会给你一个长度(例如)5,所以索引从0到4。但在您的循环中,您也尝试访问索引5,因为“您的循环将引发异常,因为您正在使用
oh,您的意思是我正在访问未经授权的数组(charSequence)?这不是“未经授权”的问题“-这是一个出界的问题。但是你应该在日志中看到异常…是的。我得到了它。问题已解决:)谢谢您可能正在寻找此链接: