为什么我的应用程序总是显示 "Unfortunately, <App> has stopped"? (java、android 工作室)
Why I keep getting "Unfortunately, <App> has stopped" on my app? (java, android studio)
我只是想做一个应用程序来计算一个值的百分比,但我从来没有成功过。我一直在尝试不同的方法和不同的代码,但 none 奏效了,但到目前为止,这是我制作的最合法的代码。无论如何,当我编译应用程序并调试它时,它完全没有错误,但是当我启动应用程序并尝试单击 "calculate" 应用程序立即停止工作并退出,并且总是有错误告诉我 "expected '('" 在第二个右括号上, "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'.
试试这个:
result.setText("" + 分析器);
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 的右括号(新 View.OnClickListener(){
});
只需添加 )
日志通过以下方式向您显示:
错误:(52, 10) 错误:')' 预期
我只是想做一个应用程序来计算一个值的百分比,但我从来没有成功过。我一直在尝试不同的方法和不同的代码,但 none 奏效了,但到目前为止,这是我制作的最合法的代码。无论如何,当我编译应用程序并调试它时,它完全没有错误,但是当我启动应用程序并尝试单击 "calculate" 应用程序立即停止工作并退出,并且总是有错误告诉我 "expected '('" 在第二个右括号上, "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'.
试试这个:
result.setText("" + 分析器);
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 的右括号(新 View.OnClickListener(){ });
只需添加 )
日志通过以下方式向您显示: 错误:(52, 10) 错误:')' 预期