我有麻烦,我需要接受用户输入并将其从0开始以1/10递增,因此如果用户输入5.2我需要经过0.1 0.2 0.3等显示,并分别在5.2处停止,直到调用该方法再次输入一个新的输入,这就是我所拥有的,但是直到10为止我都会运行,我理解为什么这样做不足以解决这个问题,我们将不胜感激
import java.util.Scanner;
public class SpeedChange {
public double startSpeed;
public double newSpeed;
public void changeUserSpeed(){
Scanner sc = new Scanner (System.in);
System.out.println("How fast would you like to go between 1-10 mph?");
double newSpeed = sc.nextDouble();
for(newSpeed = sc.nextDouble(); newSpeed <= 10.00; newSpeed+=.1 ){
System.out.println(newSpeed);
}
}
}
最佳答案
您需要更改循环内容。由于用户已经指定了newSpeed,因此不需要更改它。您只需要创建一个新的double变量,例如Speed
,它将增加0.1的限制。在每次迭代中保持运行,直到您的Speed
等于newSpeed
。
for(double Speed=0;Speed<=newSpeed;Speed+=0.1 ){
System.out.println(Speed); }
希望这能清除并解决您的疑问!