首个Java项目while循环break问题:编写含break的永真while循环程序
解决while循环与break语句的问题
嘿,很高兴帮你搞定这个Java入门的循环问题!先直接回答你的核心疑问:不需要额外添加其他特殊值,只要把你现有代码的逻辑补全、修正结构,就能实现「输入0就退出无限循环」的需求。
咱们先看看你代码里的问题,再一步步修正:
你现有代码的问题点
while ()括号里是空的,要创建无限循环得填true,这样循环才会一直运行直到遇到break- 代码里的
continue和else结构完全不对,else不能直接跟在while后面,而且你还没写读取用户输入的逻辑,根本没法判断输入是不是0 - 缺少获取用户输入的语句,没法拿到用户输入的数值来做判断
修正后的完整代码
import java.util.Scanner; class WhileLoopWithBreak { public static void main(String[] args) { int n; Scanner input = new Scanner(System.in); // 创建无限循环,条件永远为true while (true) { System.out.print("请输入一个整数(输入0退出):"); // 读取用户输入的整数 n = input.nextInt(); // 判断输入是否为0,是的话退出循环 if (n == 0) { System.out.println("已输入0,退出程序!"); break; } else { // 可以加个提示,告诉用户输入的不是0,继续循环 System.out.println("你输入的是" + n + ",继续输入..."); } } // 关闭Scanner资源,养成好习惯 input.close(); } }
代码逻辑解释
while(true):这是创建无限循环的标准写法,循环会一直执行,直到遇到break语句n = input.nextInt();:读取用户从控制台输入的整数,这是你原来代码缺失的关键步骤if(n == 0):判断用户输入的数值是否为0,如果是,就执行break终止整个循环;否则提示用户继续输入input.close():用完Scanner后关闭资源,避免内存泄漏,这是Java编程的好习惯
额外小提示
你可以根据自己的需求调整提示语,比如去掉多余的提示,只保留输入判断逻辑——但加提示语能让程序更友好,适合入门练习~
内容的提问来源于stack exchange,提问作者Avishek Brahma
相关产品推荐
相关产品推荐

