我的数学不是很好。所以请不要介意我的错误! 这是个问题:
Speedy国王是一个赛车组。他们的领导人约翰拥有一辆铃木 Hayabusa最高速度为300公里。领导者 对手组,Ranson拥有杜卡迪,最高速度为280公里。 约翰进行了n轮10公里的赛道。多少时间(以分钟为单位) Ranson完成约翰所覆盖的相同距离。拿走 n的值作为用户的输入。样品输入:4个样品输出:8
现在这是我的解决方案:
class speedyKings{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
int ducs=280;
int hays=300;
int total_dist=10000;
int n=in.nextInt();
double time=((10000*n)/280);
System.out.print(time);
}
}
但是,任何人都无法提供正确的输出吗?
答案 0 :(得分:1)
应该是这样的:
class SpeedyKings{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
double ducs = 280.0;
double hays = 300.0;
double track = 10.0;
double time = (track * n) / ducs * 60;
System.out.print(time);
}
}
答案 1 :(得分:0)
您最好的选择是采用小步骤来获得正确的值。您可以使用适当命名的变量来记住您正在查看和使用的内容:
Scanner in = new Scanner(System.in);
int laps = in.nextInt();
double speedInKph = 280; // km/h
double lapLength = 10000; // meter
double speedInMpS = speedInKph * 1000 / 3600; // m/s
double secondsPerLap = lapLength / speedInMpS; // m / (m/s) = s
double minutesPerLap = secondsPerLap / 60;
double minutes = minutesPerLap * laps;
System.out.println("Minutes: " + minutes);