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); }}
3 回答
MM们
TA贡献1886条经验 获得超2个赞
您需要在乘以 2 后更新数字:
newNumber = newNumber * 2;
System.out.println(newNumber);
此外,您正在使用newNumberandtestNumber并且newNumber似乎没有在任何地方定义...
}while( ***testNumber***newNumber*** < 1000000);
您需要选择一个,因为如果您正在更新newNumber但testNumber在循环中进行比较,您将创建一个无限循环。
您展示的代码不应编译,除非您在帖子中遗漏了一些内容。
Smart猫小萌
TA贡献1911条经验 获得超7个赞
您也可以为它创建一个递归方法。
public int reachMillion(int num) {
if(num<=0)
return -1; // indicating it is not possible.
if(num>=1000000) // Base Condition denoting we have reached 1 million
return num;
return reachMillion(num*2); // recursive part to multiply by 2 until we reach 1 million
}
添加回答
举报
0/150
提交
取消