我有麻烦,我需要接受用户输入并将其从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); }


希望这能清除并解决您的疑问!

09-29 23:43