尽管在Android Studio中使用了正确的括号,但表达式预期出现错误

时间:2018-10-20 03:58:13

标签: java android-studio

这是我第一次来这里,我会尽力遵循所有准则。

我的问题是,Android Studio中使用的以下Java代码在“ private void berechnen(){”行中获取错误“ Expression Expected”和“; Expected”,但不存在于任何地方,当我从数百万问这个确切问题的其他人那里收集到的信息时,期望是正确地关闭函数的。

现在我一次又一次地检查,但我似乎根本找不到任何遗漏的括号,因此错误是由其他原因引起的。

我的问题是,是否有人知道这可能有其他原因以及如何解决?预先非常感谢。

package com.example.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.databinding.DataBindingUtil;
import android.widget.TextView;

import java.text.DecimalFormat;

public class MainActivity extends AppCompatActivity {

    private double zahl1 = Double.NaN;
    private double zahl2;

    private static final char ADDITION = '+';
    private static final char SUBTRAKTION = '-';
    private static final char MULTIPLIKATION = '*';
    private static final char DIVISION = '/';
    private char derzeitigesinput;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         TextView textView1 = (TextView) findViewById(R.id.textview1);
        Button button1 = (Button) findViewById(R.id.zahl1);

        private void berechnen() {
            if(!Double.isNaN(zahl1)) {
                zahl2 = Double.parseDouble(textView1.getText().toString());
                textView1.setText(null);

                if(derzeitigesinput == ADDITION)
                    zahl1 = this.zahl1 + zahl2;
                else if(derzeitigesinput == SUBTRAKTION)
                    zahl1 = this.zahl1 - zahl2;
                else if(derzeitigesinput == MULTIPLIKATION)
                    zahl1 = this.zahl1 * zahl2;
                else if(derzeitigesinput == DIVISION)
                    zahl1 = this.zahl1 / zahl2;
            }
            else {
                try {
                    zahl1 = Double.parseDouble(textView1.getText().toString());
                }
                catch (Exception e){}
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您不能在另一个函数内创建一个函数。您的svyrepdesign是在berechnen内部定义的。那行不通!每个函数都必须在类级别定义,Java没有另一个函数专有的概念。

答案 1 :(得分:0)

嗯..我也是新来的,但我想提出这个建议,我想您在末尾添加了不必要的括号。如果您算上括号的数目,那么它们就是“ ODD”。因此,错误表明它期望在“}”之前有一个语句,然后是“;”一旦我认为它将解决您的问题,请尝试进行检查