【发布时间】: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。
-
制作
x和ydoubles,而不是ints。 -
太棒了!非常感谢,现在可以了。我对双打的唯一其他问题是......如何将其舍入到小数点后 2 位而不是像 10
标签: java android android-studio