本文详解 android 开发中因调用 `double.parsedouble(“”)` 解析空字符串导致应用崩溃的根本原因,并提供健壮、可复用的空值处理方案,含防御性校验、默认值设定及完整代码优化示例。
你的应用在点击按钮时崩溃,根本原因非常明确:当用户未填写某个 EditText 时,其 getText().toString() 返回空字符串 “”,而 Double.parseDouble(“”) 会抛出 NumberFormatException 异常,导致主线程崩溃。你当前代码中对全部 7 个 EditText(如 t1, t2, yapilan, ayGun, bugun, adet, saat)均直接执行 Double.parseDouble(…),只要任一字段为空,程序立即中断。
这不是逻辑错误,而是典型的运行时输入校验缺失。作为初学者,关键要建立“用户输入不可信”的意识——任何来自 UI 的文本都必须先验证再转换。
✅ 正确做法:安全解析双精度浮点数
推荐使用以下封装方法,既简洁又鲁棒: