【问题标题】:Why wont my calculations show in my app?为什么我的计算不会显示在我的应用程序中?
【发布时间】:2016-08-11 00:27:24
【问题描述】:

我正在尝试制作一个简单的弹道应用程序来计算子弹下落和瞄准时间。我在需要的地方准备好了所有东西,但是当我测试它并等待我的结果时,它似乎并没有进行我在那里的计算。对我有什么建议吗?

package com.example.koryhershock.testapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.content_main);

    Button btn = (Button)findViewById(R.id.button1);
    final EditText et1 = (EditText)findViewById(R.id.muzzleVelocity);
    final EditText et2 = (EditText)findViewById(R.id.targetRange);
    final TextView time = (TextView)findViewById(R.id.textView1);
    final TextView bulletdrop = (TextView)findViewById(R.id.textView2);
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            int x = new Integer(et1.getText().toString());
            int y = new Integer(et2.getText().toString());
            double timetotarget = x / y;
            double grav = 4.9;
            double timesquared = timetotarget * timetotarget;
            double drop = grav * timesquared;
            time.setText("Time to Target: " + timetotarget + " seconds");
            bulletdrop.setText("Bullet Drop: " + drop + " meters");
        }
    });
}
}

【问题讨论】:

  • 能否在 onClick 方法中添加一条日志语句来验证它是否被调用?
  • 它被调用了,我将 time 和 bulletdrop 的值设置为不同的文本开始,当我按下计算文本切换到“目标时间:”等,但它不会计算。它所做的只是所有值都为 0。
  • 制作xy doubles,而不是ints。
  • 太棒了!非常感谢,现在可以了。我对双打的唯一其他问题是......如何将其舍入到小数点后 2 位而不是像 10

标签: java android android-studio


【解决方案1】:

好的,这里可能有问题:double timetotarget = x / y;因为 x 和 y 是整数。例如,如果 x 150 和 y 等于 100,则您的计算结果等于 1。尝试使用下一个计算:double timetotarget = (double)x / (double)y;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 2020-06-06
    • 2010-11-03
    • 2010-11-04
    • 1970-01-01
    相关资源
    最近更新 更多