Java 应用程序崩溃,文本为空

Java 应用程序崩溃,文本为空,java,toast,Java,Toast,这需要帮助! 我正试着为一个空的edittext做祝酒词,结果却发现在浮动中不断出现错误 请告知 代码如下: calcBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { **float bs = Float.parseFloat(basicSalary.getText().toStr

这需要帮助! 我正试着为一个空的edittext做祝酒词,结果却发现在浮动中不断出现错误

请告知

代码如下:

  calcBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {


   **float bs = Float.parseFloat(basicSalary.getText().toString());**
     float tw = Float.parseFloat(totalAllowance.getText().toString());
     float mob = String spinTEXT = spinner.getSelectedItem().toString();

if (spinner.getSelectedItem().equals("Select age group")){
         Toast.makeText(sghospitalbonuscalculator.this, "Test 123",
               Toast.LENGTH_SHORT).show();
}

if (basicSalary.getText().toString().equals("")){
         Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
               Toast.LENGTH_SHORT).show();
}
这就是错误:

java.lang.NumberFormatException: Invalid float: ""
at java.lang.StringToReal.invalidReal(StringToReal.java:63)
at java.lang.StringToReal.parseFloat(StringToReal.java:308)
at java.lang.Float.parseFloat(Float.java:306)
at sg.self.wser.bonuscalc.bonuscalcu$4.onClick(bonuscalcu.java:96)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
java:96引用了以下代码行:

float bs=float.parseFloat(basicSalary.getText().toString())

至于祝酒词,我试图将.equals(“”)改为.equals(“”,.equals(null)和.isEmpty,但仍然不起作用

请告知! 万分感谢

编辑版本:

代码:

显示的错误:

java.lang.NumberFormatException: Invalid float: ""

您希望测试输入是否为空,如果为空,则指定值0.0

float bs = 0.0f;
if (basicSalary.getText().toString().equals("") == false){
      bs = Float.parseFloat(basicSalary.getText().toString());
}
进一步测试
Toast

if (basicSalary.getText().toString().equals("")){
         Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
               Toast.LENGTH_SHORT).show();
}
也许你可以把它改成

if (bs == 0.0f){
         Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
               Toast.LENGTH_SHORT).show();
}

你认为一个空格代表什么浮点数?hmmmmmmm0.0f?道歉如果我错了,请开导我!错误的
java.lang.NumberFormatException:无效浮点:“
表示它不是浮点?没错
不是浮点你的问题是什么?
浮点bs=0.0f此代码将0.0f值赋给bs
如果(basicSalary.getText().toString().equals(“”==false){bs=Float.parseFloat(basicSalary.getText().toString());}
此代码表示,如果basicSalary编辑文本框的内容不为空,则将bs设置为basicSalary的Float内容。我说的对吗?它是说1)将默认值0.0设置为bs 2)如果
basicSalary
不是空的,请将其值转换为float并将bs设置为该值。完全理解!!!!真的非常感谢你!请原谅我的noob问题,因为我真的坚持了3天,而且我对Java的知识很差,我觉得我在发帖之前已经尽了最大的努力!再次感谢您!我爱爪哇!呜呜呜!
if (bs == 0.0f){
         Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
               Toast.LENGTH_SHORT).show();
}