-1

我只是想制作一个计算价值百分比的应用程序,但我从未成功。我一直在尝试不同的方法和不同的代码,但都没有奏效,但到目前为止,这是我所做的最合法的一个。无论如何,当我编译应用程序并调试它时,它根本没有错误,但是当我启动应用程序并尝试单击“计算”时,应用程序立即停止工作并退出,并且总是有错误告诉我“预期”( '" 在第二个右括号和"expected';'" 在第三个右括号。任何人都可以看到我的代码的问题吗?我是新手,请帮助。谢谢,您的帮助将不胜感激。

这是java代码:包com.example.alexm.calc;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View.OnClickListener;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity{



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final EditText percentedit = (EditText) findViewById(R.id.percentedit);
    final EditText valueedit = (EditText) findViewById(R.id.valueedit);
    Button button = (Button) findViewById(R.id.button);
    final EditText result = (EditText) findViewById(R.id.result);


    assert button != null;
    button.setOnClickListener(new View.OnClickListener(){
        public void onClick(View view){

            int cal1, cal2, cal3, anser;
            String edit1 = percentedit.getText().toString();
            String edit2 = valueedit.getText().toString();
            int val1 = Integer.parseInt(edit1);
            int val2 = Integer.parseInt(edit2);
            cal1 = val1 * val2;
            cal2 = 100 * 1;
            cal3 = cal1/cal2;
            anser = cal3;


            result.setText(anser);



        }

    }
  }
}

这是错误

lc\MainActivity.java
Error:(52, 10) error: ')' expected
Error:(54, 2) error: reached end of file while parsing
:app:compileDebugJavaWithJavac FAILED
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
4

3 回答 3

1

尝试这个:

result.setText("" + anser);

setText()方法不接受int,这可能就是您收到错误的原因。

顺便说一句,你为什么有这条线:cal2 = 100 * 1;

于 2016-05-13T03:13:31.947 回答
1

根据您的错误,将此代码替换为您的代码,

    button.setOnClickListener(new View.OnClickListener(){
    public void onClick(View view){

        int cal1, cal2, cal3, anser;
        String edit1 = percentedit.getText().toString();
        String edit2 = valueedit.getText().toString();
        int val1 = Integer.parseInt(edit1);
        int val2 = Integer.parseInt(edit2);
        cal1 = val1 * val2;
        cal2 = 100 * 1;
        cal3 = cal1/cal2;
        anser = cal3;


        result.setText(anser);



    }

});
于 2016-05-13T03:19:16.863 回答
0

您缺少 setOnClickListener (new View.OnClickListener(){ }) 的右括号;

只需添加)

日志通过以下方式向您显示:Error:(52, 10) error: ')' expected

于 2016-05-13T03:21:56.657 回答