if子方法中的if语句返回文本错误

时间:2018-03-15 20:56:53

标签: java android-studio

这可能是一个非常简单的修复方法,但在任何地方我寻找答案似乎都是略有不同的情况。

问题涉及if语句我希望返回一个文本值,即"你好"返回后代替0.00 ...这会产生一个通知,说明要求加倍。 我之前删除了所有格式和* 100乘数,因为我知道这不会起作用但无济于事。

本质上,如何使用if语句返回文本值,这是一个子方法,或者为什么它不能与我的代码一起使用?

任何帮助非常感谢。

    import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {

double taxRate, annualSalary;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

    public void onClick(View view) {

    switch (view.getId()) {
        case R.id.gobutton:



            EditText employeename = (EditText) findViewById(R.id.enteredname);
            String empname = employeename.getText().toString();


            EditText salary = (EditText) findViewById(R.id.enteredsalary);
            try {
                (annualSalary) = Double.parseDouble(salary.getText().toString());
            }catch (NumberFormatException e){
                Toast.makeText(this,"please enter a number only!",Toast. LENGTH_SHORT).show();
            setContentView(R.layout.activity_main);
            break;
            }

            taxRate=getTaxRate (annualSalary)*100;

            String rateStr = String.format("%.0f",taxRate);

            setContentView(R.layout.activity_second);


            TextView textViewName = (TextView) findViewById(R.id.outputname);
            textViewName.setText(empname);

            TextView textViewName1 = (TextView) findViewById(R.id.outputtax);
            textViewName1.setText(String.format(rateStr)+"%");

            break;


        case R.id.exitbutton:

            //Delay the exit by 1 second at this time

            new Handler().postDelayed(new Runnable() {
                public void run() {
                    //finish app
                    finish();
                }
            }, 1000);
            break;

        case R.id.returnbutton:
            setContentView(R.layout.activity_main);
            break;

    }
}


public double getTaxRate(double annualSalary) {


if (annualSalary < 11000.01 ){
   return 0.00;
}
else
    if (annualSalary <= 42000){
        return 0.20;
    }
else
        return 0.40;


    }

}

1 个答案:

答案 0 :(得分:0)

中的第一个双
public double getTaxRate(double annualSalary)

是返回类型。在这种情况下,它必须是双倍的。如果要返回String,则必须将其更改为

public String getTaxRate(double annualSalary)