[英]Why I keep getting “Unfortunately, <App> has stopped” on my app? (java, android studio)
我只是想制作一個可以計算出價值百分比的應用程序,但我從未成功。 我一直嘗試使用不同的方法和代碼,但沒有一個起作用,但是到目前為止,這是我制作的最合法的一個。 無論如何,當我編譯應用程序並對其進行調試時,它完全沒有錯誤,但是當我啟動該應用程序並嘗試單擊“計算”時,該應用程序立即停止工作並退出,並且總是有錯誤告訴我“期望的'( “”在第二個括號中,“”在期望的;“”在第三個括號中。有人能看到我的代碼有問題嗎?我是新手,請幫助。謝謝您的幫助。
這是Java代碼:package 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'.
嘗試這個:
result.setText(“” + anser);
setText()
方法不接受int
,這可能是您收到錯誤的原因。
順便說一句,為什么你有這行: cal2 = 100 * 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);
}
});
您缺少setOnClickListener(new View.OnClickListener(){})的結尾括號;
只需添加)
日志通過以下方式向您顯示此錯誤:預期錯誤:(52,10)錯誤:')'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.