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

Java循环逻辑修改需求:输入产品编号为-1时直接终止循环

解决输入产品编号为-1时直接终止循环的问题

嘿,我明白你的需求了——你希望用户输入产品编号为-1时立刻跳出循环计算总计,而不是得同时把数量也输成-1才终止。我帮你调整了代码,同时补全了原本缺失的核心逻辑,让它能正常运行并满足你的要求:

import java.util.Scanner;
public class Structuredcontrols {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        double total = 0; // 用单个变量存储总计更简洁
        int productNumber;
        int quantity;

        while (true) { // 改用无限循环,方便灵活控制终止时机
            System.out.print("Enter product number (-1 to exit): ");
            productNumber = input.nextInt();

            // 核心改动:输入产品编号为-1时直接跳出循环
            if (productNumber == -1) {
                break;
            }

            // 输入对应产品的数量
            System.out.print("Enter quantity: ");
            quantity = input.nextInt();

            // 这里示例用switch匹配不同产品编号的单价,你可以根据实际需求修改
            double price;
            switch (productNumber) {
                case 1:
                    price = 10.99;
                    break;
                case 2:
                    price = 15.99;
                    break;
                case 3:
                    price = 20.99;
                    break;
                default:
                    System.out.println("Invalid product number, skipping this entry.");
                    continue; // 无效编号跳过当前循环,不参与总计计算
            }

            // 累加当前产品的金额到总计
            total += price * quantity;
        }

        // 循环终止后输出最终总计
        System.out.printf("Total amount: $%.2f%n", total);
        input.close();
    }
}

关键改动说明:

  • 调整循环结构:把原本依赖number变量的循环改成while(true)无限循环,这样我们可以在用户输入产品编号后立刻判断是否终止,不需要等数量输入完成
  • 提前终止检查:在读取产品编号后直接判断if (productNumber == -1),满足条件就用break跳出循环,直接进入总计计算环节
  • 补全业务逻辑:添加了单价匹配、数量输入和总计累加的代码(你可以根据实际业务调整单价的获取方式,比如从数组、集合或数据库读取)
  • 完善收尾操作:添加了关闭Scanner资源和格式化输出总计的代码

原来的代码结构会导致必须完成数量输入后才会检查循环终止条件,现在的改动完美解决了这个问题,完全符合你“输入产品编号为-1直接跳出循环”的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:25:12