Java中如何使用while循环持续获取用户输入直到用户选择终止
Java 计算幂次程序循环交互调整方案
核心修改点
- 外层增加
while(true)死循环包裹原有输入、计算逻辑 - 每次计算完成后新增用户是否退出的判断逻辑,用户输入终止指令时调用
break跳出循环 - 补充Scanner输入缓冲区清空处理,避免数字读取后残留的换行符导致后续输入读取异常
注:原有幂计算逻辑仅支持Y为非负整数的场景,若需要支持负指数,可修改返回值类型为double,并补充y<0的分支判断逻辑。
修改后完整代码
import java.util.*; public class Test42 { static int power(int x, int y) { if (y == 0) return 1; else if (y % 2 == 0) return power(x, y / 2) * power(x, y / 2); else return x * power(x, y / 2) * power(x, y / 2); } public static void main(String... args) { Scanner adnan = new Scanner(System.in); // 死循环持续接收输入 while (true) { System.out.println("Enter the value of X:"); int x = adnan.nextInt(); System.out.println("Enter the value of Y:"); int y = adnan.nextInt(); System.out.println("The result is: " + power(x, y)); // 询问是否继续 System.out.println("输入q退出程序,输入其他任意字符继续计算:"); // 先清空nextInt残留的换行符 adnan.nextLine(); String input = adnan.nextLine(); if ("q".equalsIgnoreCase(input)) { System.out.println("程序终止"); break; } } adnan.close(); } }
功能说明
程序启动后会循环要求用户输入X和Y的值,计算幂次后输出结果,每次计算完成后用户可选择是否继续,输入q(不区分大小写)即可终止程序运行。
内容的提问来源于stack exchange,提问作者adnanadel11
相关产品推荐
相关产品推荐

