Java 逻辑错误AndroidStudio

Java 逻辑错误AndroidStudio,java,android,android-studio,sdk,Java,Android,Android Studio,Sdk,package com.karanvir.tip; 导入android.graphics.Color; 导入android.graphics.PorterDuff; 导入android.os.Bundle; 导入android.support.design.widget.FloatingActionButton; 导入android.support.design.widget.Snackbar; 导入android.support.v7.app.AppActivity; 导入android.su

package com.karanvir.tip;
导入android.graphics.Color;
导入android.graphics.PorterDuff;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.Snackbar;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.view;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.EditText;
导入android.widget.RatingBar;
导入android.widget.TextView;
导入android.widget.Toast;
导入静态com.karanvir.tip.R.drawable.p;
公共类MainActivity扩展了AppCompatActivity{
公众人物;
公共文本量;
公共编辑文本百分比;
公共编辑文本finalAmount;
公共字符串finalAmountz;
公共评级栏评级;
公共文本视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
people=(EditText)findViewById(R.id.EditText);
金额=(EditText)findViewById(R.id.editText2);
百分比=(EditText)findViewById(R.id.editText3);
finalAmount=(EditText)findViewById(R.id.editText6);
评级=(评级条)findViewById(R.id.评级条);
//额定杆设置(3);
txt=(TextView)findViewById(R.id.TextView);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(右菜单菜单菜单主菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
//noinspection SimplifiableIf语句
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
公共无效计算(视图){
试一试{
double-pep=double.parseDouble(people.getText().toString());
double a=double.parseDouble(amount.getText().toString());
double perc=double.parseDouble(percentage.getText().toString());
double percc=double.parseDouble(percentage.getText().toString());
如果(pep>1 | | pep==1){
如果(perc>1.0){
双aa=a;
perc=perc/100;
a=(a*perc);
双倍新金额=a+aa;
双占位符=新金额/pep;
双舍入器=数学舍入器(占位符);
finalAmountz=“$”+字符串.valueOf(舍入器);
finalAmount.setText(finalAmountz.toString());
如果(perc>0.12){
评级。设定评级(5);
rating.setVisibility(视图可见);
txt.setVisibility(View.VISIBLE);
}

否则,如果(perc>0.10&&perc0.7&&perc0.05&&perc您将perc除以100

if(pep>1||pep==1){
    if(perc>1.0) {
         double aa=a;
         perc = perc / 100;
 ....

除非您输入的值优于500,否则其值将始终低于5(您的上一个条件),因此始终给出1颗星

您所说的“它一直显示1颗星”是什么意思?您能提供结果的屏幕截图并描述预期结果吗?因此,当我单击查看结果时,它只显示1颗星。如果percantage小于5,它应该只显示一颗星。我认为您在这里有问题
,否则如果(percIt不起作用,我只是删除了那一行代码。谢谢你的提示,下次我一定要仔细检查我对我以后引用的变量的所有引用或调整!没问题。很乐意帮助这一切都取决于你插入的值。你需要检查条件中的值。我的答案仍然是\corrective我插入例如,12这样的值,现在nothing?12/100应该是0.12。但是这些条件在我的语句中仍然不起作用。我很困惑