You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java:多输入场景下仅输入里程哨兵值后终止循环的实现

解决方法:仅输入行驶里程为0时终止程序

别担心,这个需求完全可以实现!而且修改起来非常简单,咱们直接调整程序的终止判断逻辑就好。

首先,我猜你当前程序的核心逻辑是在循环里反复接收行驶里程(miles)和耗油量(gallons)的输入,只有当两者同时为0时才退出循环。现在咱们只需要把终止条件改成只要miles为0就退出,不用管耗油量的数值。

修改后的完整代码

import java.util.Scanner;

public class Mileage {
    public static void main(String[] args) {
        // 初始化 Scanner
        Scanner sc = new Scanner(System.in);
        int miles = -1;
        double gallons; // 耗油量用double更合理,毕竟实际中可能有小数
        
        while (true) {
            // 提示输入行驶里程
            System.out.print("请输入行驶里程(输入0终止程序):");
            miles = sc.nextInt();
            
            // 核心修改:只要里程为0,直接终止循环
            if (miles == 0) {
                System.out.println("程序已终止");
                break;
            }
            
            // 里程不为0时,再输入耗油量
            System.out.print("请输入耗油量:");
            gallons = sc.nextDouble();
            
            // 计算并输出油耗(可根据你的需求调整格式或逻辑)
            double mileage = (double) miles / gallons;
            System.out.printf("当前油耗为:%.2f 英里/加仑%n", mileage);
        }
        
        sc.close(); // 记得关闭Scanner释放资源
    }
}

关键修改点说明

  • 提前判断终止条件:把原来的“同时判断里程和耗油量是否为0”,改成在输入里程后立刻检查miles == 0,如果满足就直接用break跳出循环,终止程序,不用再输入耗油量。
  • 优化输入流程:只有当里程不为0时,才会继续要求输入耗油量,这样用户想终止时不用额外输入0的耗油量,易用性直接提升。
  • 数据类型优化:把耗油量的类型从int改成double,因为实际使用中耗油量可能是小数(比如3.8加仑),这样计算出来的油耗结果会更准确。

这样修改后,程序就会完全符合你的需求啦~

内容的提问来源于stack exchange,提问作者Kaj Godfrey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:26:54