英文:
How can I do multiple calculations with one result in Java?
问题
我有3个EditBoxes,分别带有以下数值:跑道航向、风向和风速。我需要使用这些数值来计算。首先,我需要计算
侧风分量 = sin(风向 - 跑道航向) * 风速
但我不知道如何实现这个计算...
英文:
I have 3 EditBoxes with the respective values: Runway Heading Wind Direction Wind speed for that I have to use the formula with the respective values. First I have to calculate
Crosswind component = sin(wind direction - runway heading) * wind speed
But I dont know how to implement this...
答案1
得分: 0
EditText windDirectionEditText;
EditText runwayHeadingEditText;
EditText windSpeedEditText;
Button calculate;
TextView crossWindResultTextView;
public onCreate() {
// 将视图分配给相应的字段
windDirectionEditText = findViewById(R.id.wind_direction);
runwayHeadingEditText = findViewById(R.id.runway_heading);
windSpeedEditText = findViewById(R.id.wind_speed);
calculate = findViewById(R.id.calculate_stuff);
crossWindResultTextView = findViewById(R.id.crosswind_text);
// 将点击监听器分配给按钮,以便在单击时计算结果并将其显示在结果文本视图中
calculate.setOnClickListener(click -> {
// 收集数值
double windDirection = Double.valueOf(windDirectionEditText.getText().toString());
double windSpeed = Double.valueOf(windSpeedEditText.getText().toString());
double runwayHeading = Double.valueOf(runwayHeadingEditText.getText().toString());
// 计算结果
// 侧风分量 = sin(风向 - 跑道航向) * 风速
double crosswind = Math.sin(Math.toRadians(windDirection - runwayHeading)) * windSpeed;
// 将结果分配给文本视图
crossWindResultTextView.setText(crosswind + " kts");
});
}
请注意,我在代码中进行了一些修正,以确保计算结果正确。
英文:
Ok, i'm gonna try to help you with something off the bat here. But you'll probably need to adapt it a bit.
EditText windDirectionEditText;
EditText runwayHeadingEditText;
EditText windSpeedEditText;
Button calculate;
TextView crossWindResultTextView;
public onCreate() {
//assign the views to their correponding fields
windDirectionEditText = findViewById(R.id.wind_direction);
runwayHeadingEditText = findViewById(R.id.runway_heading);
windSpeedEditText = findViewById(R.id.wind_speed);
calculate = findViewById(R.id.calculate_stuff);
crossWindResultTextView = findViewById(R.id.crosswind_text);
// assign the clicklistener to button so that when clicked, it calculates stuff and put it's result in the result text view
calculate.setOnClickListener( click -> {
// gather values
double windDirection = Double.valueOf(windDirectionEditText.getText().toString());
double windSpeed = Double.valueOf(windSpeedEditText.getText().toString());
double runwayHeading = Double.valueOf(runwayHeadingEditText.getText().toString());
// calculate stuff
// Crosswind component = sin(wind direction - runway heading) * wind speed
double crosswind = Math.sin(windDirection - runwayHeading) * windSpeed;
// assign result to textview
crossWindResultTextView.setText(crosswind + " kts");
});
}
Now, you'll need a layout, you said you have 3 edit texts for the wind direction, runway heading and wind speed.
Put a textview somewhere in there, and a button.
Change this code so that their identifiers match the ones from the layout.
When you click the "calculate" button, the result textview will say whatever knots for the entered values.
Feel free to work from there and improve it as you need.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论