用户输入的平方根减量



从用户处获得整数并找到平方根后,我需要找到从I到0的每个数字的平方根。我有麻烦弄清楚如何正确减少输入,所以它打印出每个数字的平方根在一个新的行。如果我的标题不够具体,我很抱歉,我很难描述这个问题。

public class Number {
    public static void main(String[] args) {
    int i = 1;
    Scanner scnr = new Scanner(System.in);
    System.out.print("Please enter a number: ");

    while (i >= 1)
    {
        i = scnr.nextInt();
        System.out.println(Math.sqrt(i));
        i++;
    }
    System.out.println(i);
}

如果您习惯使用Java 8流,那么您将能够以更直接的方式完成此操作,而不需要传统的for循环:

IntStream.range(0, scanner.nextInt())
    .map(Math::sqrt).forEach(System.out::println);

如果你不熟悉流,这个语句可以解释为"创建一个从0到输入数字的整数流;将每一个整数映射到它自己的平方根;打印流中的每个数字

虽然语法看起来有点棘手,但值得习惯使用它。

循环内递减1

int i = 0;
Scanner scnr = new Scanner(System.in);
System.out.print("Please enter a number: ");
i = scnr.nextInt();
while (i >= 1)
{
    System.out.println(Math.sqrt(i));
    i--;
}

在循环前获取用户输入,并递减变量i--

真正的解决方案是不只是发布代码并期望它能工作,而是应该在精神上或纸上遍历代码,以便在它们发生时思考其步骤。同时学习Java操作符,特别是++--操作符,充分理解它们的作用

相关内容

  • 没有找到相关文章

最新更新