gpt4 book ai didi

java - 计算球的最大高度(级别: newbie)

转载 作者:行者123 更新时间:2023-12-01 11:38:16 26 4
gpt4 key购买 nike

我决定学习一些Java。因此我一直在网上搜索一些练习。现在我陷入困境,非常感谢您的帮助。

我想计算我从地面扔出的球的最大高度。因此,我使用高度 = 0. 5 * 速度 * 速度(以米每秒为单位)/9.81(以米每秒为单位)

我的类(class)“球”

public class Ball {

// Attributes

private static final double GRAVITATION = 9.81;
private static final double SECONDS_OF_HOUR = 3600.0;
private static final double METERS_OF_KILOMETER = 1000.0;


/**Speed of the ball in meters per second. */
private float speed;


// Constructor
public Ball(float speedInKmh) {
}

// Methods
/**
* @return maximal height in metres.
*/
public double maxHeight() {
return 0.5 * speed * speed / GRAVITATION;
}

/**
* @param kmh speed in kilometres / hour
* @return speed in meters / second
*/
private double kmHToMs(double kmh) {
return kmh * METERS_OF_KILOMETER / SECONDS_OF_HOUR;
}
}

我的问题:1. 我将在何时何地使用 kmHToM?我的意思是,我必须在某个地方使用它来计算有人进入时的最大高度,例如命令行中的速度为 5 公里/小时。

我想编写另一个类“Balltester”。这里我想测试一下命令行的输入。我将检查数字 > 0。如果输入为空或包含一个或多个字母,我想退出程序。我在这里错过了什么吗?测试人员类(class)尚未编写,因为我不知道如何开始。

我尝试使用带有 public static void main(String[] args) {} 的构造函数,但通过输入 5 公里/小时的速度得到的结果是 Ball@659e0bfd。所以我想我必须 1. 以某种方式转换速度参数,2. 将“Balltester”类中的命令行参数传递给构造函数 Ball。

我感谢任何帮助和反馈。预先感谢您。

编辑 公共(public)类 BallTester {

    public static void main(String[] args) {
ball(new Ball(5));
}
private static void ball(Ball b) {
b.maxHeight();
System.out.println(b);

}

}

最佳答案

首先,您没有指定球的速度。您需要在构造函数中执行此操作:

public Ball(float speedInKmh) {
this.speed = kmhToMs(speedInKmh);
}

请注意,您需要使用 kmhToMs(speedInKmh),因为 speedInKmh 的单位为公里/小时,而您需要的速度 的单位为米/小时。

其次,在 BallTester 类的 ball 方法中,您打印的是球,而不是最大高度。您需要将方法更改为:

private static void ball(Ball b) {
System.out.println(b.maxHeight());
}
<小时/>

对于您的测试类,我认为这就是您想要的:

public class BallTester {
public static void main(String[] args)
{
int speed;
Scanner scanner = new Scanner(System.in);
string s = scanner.next();
try {
speed = Integer.parseInt(s);
if (speed > 0) {
ball(new Ball(5));
}
}
catch (NumberFormatException ex) {
System.out.println("This is not a valid speed.");
}
}
}

关于java - 计算球的最大高度(级别: newbie),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29781200/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com