【发布时间】:2019-05-26 19:32:33
【问题描述】:
我的程序应该取给定的值并用它找到另一个值。但是,我的 try catch 语句似乎不起作用。它从不执行前 2 个 if 语句,这是程序最重要的部分。当您输入两个值时,第三个确实有效。提前致谢。
public void calculate(View view) {
EditText length_find = findViewById(R.id.feet);
EditText pounds_find = findViewById(R.id.pounds);
try {
//int length_int = Integer.parseInt(length_find.getText().toString());
//int pounds_int = Integer.parseInt(pounds_find.getText().toString());
double d = .29;
//double length = length_int;
//double pounds = pounds_int;
double w = 24.5 / 12;
double h = .002 / 12;
//This Calculates if Pounds are given
if ((length_find).getText().toString().trim().length() == 0){
Toast.makeText(MainActivity.this, "Given Pounds", LENGTH_LONG).show();
int pounds_int = Integer.parseInt(pounds_find.getText().toString());
double pounds = pounds_int;
double v = pounds / d;
double length = v / w / h;
final TextView mTextView = (TextView) findViewById(R.id.length_show);
mTextView.setText((int) length);
}
//This Calculates if Length is given
if ((pounds_find).getText().toString().trim().length() == 0){
Toast.makeText(MainActivity.this, "Given Length", LENGTH_LONG).show();
int lenght_int = Integer.parseInt(length_find.getText().toString());
double length = lenght_int;
double v = length * w * h;
double answer_pounds = v * d;
final TextView mTextView = (TextView) findViewById(R.id.pound_show);
mTextView.setText((int) answer_pounds);
}
if((pounds_find).getText().toString().trim().length() > 0 && (length_find).getText().toString().trim().length() > 0){
Toast.makeText(MainActivity.this, "Whata hell you need me for mate!", LENGTH_LONG).show();
}
}
catch(Exception ex) {
Toast.makeText(this, "Error", Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
您是否尝试过调试?你有例外吗?
-
好奇:
length() <= 0你预计length()什么时候会是负面的? -
string的负长度()???这永远不会发生,所以你没有问题,你的逻辑是不对的。 -
是的,我的错误我明白你们在说什么,但是如果我将
标签: java android if-statement try-catch