我正在尝试制作一个可以在人与人之间分配账单的应用程序,但是每当我尝试在代码中将两个数字相除时,它始终会给我0.0.为什么是这样?
这是代码:
public class MainActivity extends Activity { public int x = 0; public double y = 1.00; protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); //button button btn = (button) findVIEwByID(R.ID.button); //EditText EditText nop = (EditText) findVIEwByID(R.ID.editText); EditText cob = (EditText) findVIEwByID(R.ID.editText2); try{ x = Integer.valueOf(nop.getText().toString()); } catch (NumberFormatException e) { x = 0; } try{ y = Double.valueOf(cob.getText().toString()); } catch (NumberFormatException e) { y = 1.00; } //TextVIEw final TextVIEw tv = (TextVIEw) findVIEwByID(R.ID.textVIEw); btn.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { Double z = (y / x); tv.setText("You will each pay:" + (z)); } }); } }
解决方法:
单击按钮从EditText获取值,否则您将无法获得输入的值,因为获取x和y值的代码将在启动应用程序后立即执行,并且不再进行进一步的获取.
做这个
final TextVIEw tv = (TextVIEw) findVIEwByID(R.ID.textVIEw); btn.setonClickListener(new VIEw.OnClickListener() { @OverrIDe public voID onClick(VIEw v) { try{ x = Integer.valueOf(nop.getText().toString()); } catch (NumberFormatException e) { x = 0; } try{ y = Double.valueOf(cob.getText().toString()); } catch (NumberFormatException e) { y = 1.00; } Double z = (y / x); tv.setText("You will each pay:" + (z)); } });
总结 以上是内存溢出为你收集整理的java-每当我除以0.0全部内容,希望文章能够帮你解决java-每当我除以0.0所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)