这是我第一次来这里,我会尽力遵循所有准则。
我的问题是,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){}
}
}
}
}
答案 0 :(得分:1)
您不能在另一个函数内创建一个函数。您的svyrepdesign
是在berechnen
内部定义的。那行不通!每个函数都必须在类级别定义,Java没有另一个函数专有的概念。
答案 1 :(得分:0)
嗯..我也是新来的,但我想提出这个建议,我想您在末尾添加了不必要的括号。如果您算上括号的数目,那么它们就是“ ODD”。因此,错误表明它期望在“}”之前有一个语句,然后是“;”一旦我认为它将解决您的问题,请尝试进行检查