猿问

我如何反复将 java 中的数字乘以 2 直到达到 100 万?

import java.util.Scanner;


class Main {


    static Scanner userInput = new Scanner(System.in);


    public static void main(String[] args) {

        int testNumber = userInput.nextInt();

        do{

             System.out.println(newNumber * 2);

             newNumber++;

        }while( testNumber < 1000000);

    }

}


倚天杖
浏览 160回答 3
3回答

MM们

您需要在乘以 2 后更新数字:newNumber = newNumber * 2;System.out.println(newNumber);此外,您正在使用newNumberandtestNumber并且newNumber似乎没有在任何地方定义...}while( ***testNumber***newNumber*** < 1000000);您需要选择一个,因为如果您正在更新newNumber但testNumber在循环中进行比较,您将创建一个无限循环。您展示的代码不应编译,除非您在帖子中遗漏了一些内容。

Smart猫小萌

您也可以为它创建一个递归方法。public int reachMillion(int num) {&nbsp; if(num<=0)&nbsp; &nbsp; return -1;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // indicating it is not possible.&nbsp; if(num>=1000000)&nbsp; &nbsp; &nbsp; // Base Condition denoting we have reached 1 million&nbsp;&nbsp; &nbsp; return num;&nbsp; return reachMillion(num*2); // recursive part to multiply by 2 until we reach 1 million}
随时随地看视频慕课网APP

相关分类

Java
我要回答