Java 表达式预期错误,尽管Android Studio中的括号正确

Java 表达式预期错误,尽管Android Studio中的括号正确,java,android-studio,Java,Android Studio,这是我第一次来这里,我会尽我所能遵循所有的指导方针 我的问题是,Android Studio中使用的以下Java代码在“private void berechnen(){”行中获取了错误“Expression Expected”和“Expected”但是a;不属于任何地方,当函数没有正确关闭时,我从数百万提出这个确切问题的其他人那里收集到的信息中所期望的表达就会出现 现在我检查了一遍又一遍,但我根本找不到任何缺少的括号,因此错误来自其他方面 我的问题是,是否有人知道这可能有任何其他原因,以及如何

这是我第一次来这里,我会尽我所能遵循所有的指导方针

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

现在我检查了一遍又一遍,但我根本找不到任何缺少的括号,因此错误来自其他方面

我的问题是,是否有人知道这可能有任何其他原因,以及如何修复它?非常感谢

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){}
            }
        }
    }
}

您不能在另一个函数中创建函数。您的
berechnen
正在
onCreate()中定义
。那不行!每个函数都必须在类级别定义,Java没有函数私有于另一个函数的概念。

嗯..我也是新来的,但我想建议一下,我认为你最后添加了不必要的括号。如果你计算括号的数量,那么它们是“奇数”在“否”中。因此错误表示它在“}”之前需要一个语句,然后是“;”尝试检查它,一旦我认为它可以解决您的问题

@niqueco我忘了这家伙是对的。您不能定义另一个函数,您可以只进行函数调用