-我在 if/else 部分或下面的代码中遇到“标记“boolean ”的语法错误,无效的表达式”错误。我在所有“else/if”行上收到此错误 3 次。
-我遇到的另一个错误是在最后一个“else”上我必须插入一个“;”在没有解决任何问题的声明之后。
package com.dey2929.bmihealth;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
public class ResultActivity extends Activity {
TextView result;
TextView review;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
result = (TextView) findViewById(R.id.tvmybmi);
review = (TextView) findViewById(R.id.review);
Intent intent = getIntent();
String YourBmi = intent.getStringExtra("YourBmi");
result.setText(" Your BMI is: " + YourBmi);
if (boolean.valueof(YourBmi) <= 18.0)
{
review.setText("You are Underweight ");
}
else if ((boolean.valueof(YourBmi) > 18.0 && boolean.valueof(YourBmi) < 25.0 ))
{
review.setText("You are Normal (healthy weight) ");
}
else ((boolean.valueof(YourBmi)) > 25.0)
{
review.setText("You are Overweight");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.result, menu);
return true;
}
@Override
protected void onPause() {
super.onPause();
finish();
}
}
更新:
编辑-仅在最后一行中留下错误,即
- The left-hand side of an assignment must be a variable -Syntax error, insert ";" to complete Statement
- Insert assignment operator expression to complete assignment.
修改后的代码:
package com.dey2929.bmihealth;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
public class ResultActivity extends Activity {
TextView result;
TextView review;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_result);
result = (TextView) findViewById(R.id.tvmybmi);
review = (TextView) findViewById(R.id.review);
Intent intent = getIntent();
String YourBmi = intent.getStringExtra("YourBmi");
result.setText(" Your BMI is: " + YourBmi);
if (Float.parseFloat(YourBmi) <= 18.0)
{
review.setText("You are Underweight ");
}
else if ((Float.parseFloat(YourBmi) > 18.0 && Float.parseFloat(YourBmi) < 25.0 ))
{
review.setText("You are Normal (healthy weight) ");
}
else (Float.parseFloat(YourBmi) > 25.0)
{
review.setText("You are Overweight");
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.result, menu);
return true;
}
@Override
protected void onPause() {
super.onPause();
finish();
}
}
最佳答案
以下内容无效
if (boolean.valueof(YourBmi) <= 18.0)
更改为
if (Float.parseFloat(YourBmi) <= 18.0)
我假设YourBmi
将包含String
形式的 float
关于java - token "boolean"出现语法错误,表达式无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20977904/