将EditText值转换为双/整数和在Android中执行数学函数时遇到问题

将EditText值转换为双/整数和在Android中执行数学函数时遇到问题,android,string,android-edittext,double,Android,String,Android Edittext,Double,首先,我是这方面的初学者。。。因此,如果我所做的事情很容易修复(或一般来说,我很抱歉:) 我试图通过用户输入(圈数[int]、耗油量[double]和功能圈数[int])为赛车手创建一个简单的燃油计算器。但是,我在识别变量时遇到了困难。我不断地犯错误,我不能在某个类中使用一个函数,诸如此类。我已经将XML字段指定为只接受这些类型的数字,所以现在我严格地在java中工作 我在java编译器中有工作,但是把它带到Android是我学习的另一个过程 根据用户输入进行计算后,我希望指定的textView

首先,我是这方面的初学者。。。因此,如果我所做的事情很容易修复(或一般来说,我很抱歉:)

我试图通过用户输入(圈数[int]、耗油量[double]和功能圈数[int])为赛车手创建一个简单的燃油计算器。但是,我在识别变量时遇到了困难。我不断地犯错误,我不能在某个类中使用一个函数,诸如此类。我已经将XML字段指定为只接受这些类型的数字,所以现在我严格地在java中工作

我在java编译器中有工作,但是把它带到Android是我学习的另一个过程

根据用户输入进行计算后,我希望指定的textView更改为正确的答案。我认为这一部分是可以的,但将这些值转化为数学上可行的值是我遇到问题的地方

我已经在这里附上了完整的代码(请原谅注释的冗余,让我不能来回查看公式哈哈)。如果您能提供任何帮助,我们将不胜感激!我将尽我最大的努力从中学习,用于此应用程序中的其他数学相关活动



我希望这就是你想要的:

pracLaps = (EditText) findViewById(R.id.pracLaps);
fuelUsed = (EditText) findViewById(R.id.fuelUsed);
featureLaps = (EditText) findViewById(R.id.featureLaps);

pracLapsVar = Double.parseDouble(pracLaps.getText().toString());
fuelUserVar = Double.parseDouble(fuelUsed.getText().toString());
featureLapsVar = Double.parseDouble(featureLaps.getText().toString());


efficiency = (pracLapsVar / fuelUsedVar);
fuelNeeded = (featureLapsVar / efficiency);

为什么您对变量声明进行了注释?你到底想要什么?要将获取的数据转换为double,以便将公式应用于这些数据,请查看[此][1]。我问了一个类似的问题,得到了一些很好的答案。[1] 当前位置看[这个问题][1]它与你的问题非常相似。[1] :我来试试。。。parseDouble/parseInteger方法到底做什么?只是让我知道在未来。谢谢@TonyStevens:EditText包含字符串、句点。不管你告诉它什么输入类型,在幕后它仍然是一个字符串。解析方法(Double、Long、Float、Integer等)只是尝试将该字符串转换为实际的数值。当使用这些方法捕获它们在用户输入无效时抛出的异常(例如NumberFormatException)时,这一点很重要。我花了几天的时间反复编写代码,才意识到我的另一半问题是代码不在onClick方法中。哦:)再次感谢!您好,当EditText等于“”时,有没有避免错误的优雅方法?
pracLaps = (EditText) findViewById(R.id.pracLaps);
fuelUsed = (EditText) findViewById(R.id.fuelUsed);
featureLaps = (EditText) findViewById(R.id.featureLaps);

pracLapsVar = Double.parseDouble(pracLaps.getText().toString());
fuelUserVar = Double.parseDouble(fuelUsed.getText().toString());
featureLapsVar = Double.parseDouble(featureLaps.getText().toString());


efficiency = (pracLapsVar / fuelUsedVar);
fuelNeeded = (featureLapsVar / efficiency);