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

Java程序问题:如何修改代码实现输入值校验并输出合规数值?

代码修改方案

先看你原代码里的几个致命问题:

  • 循环里没更新输入值,一旦初始输入不符合范围,会无限刷提示
  • 把input.close()放在循环内部,第一次循环就关了扫描器,后面根本没法再输入
  • 没有输出符合条件数值的逻辑
  • 初始输入没给用户任何提示,用户不知道要输入什么

修改后的代码如下:

package chpt5_project;

import java.util.Scanner;

public class chpt5_project {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int count1;
        
        // 先提示用户输入
        System.out.println("Enter a value between 30 and 70: ");
        count1 = input.nextInt();
        
        // 输入不符合范围时循环提示重新输入
        while (count1 > 70 || count1 < 30) {
            System.out.println("Invalid input! Enter a value between 30 and 70: ");
            count1 = input.nextInt(); // 循环内更新输入值,否则会无限循环
        }
        
        // 输入符合条件时输出数值
        System.out.println("Valid value: " + count1);
        input.close(); // 所有输入操作完成后再关闭扫描器
    }
}

修改说明:

  • 将input.close()移到循环外,确保所有输入操作完成后再关闭扫描器,避免后续输入报错
  • 循环内添加count1 = input.nextInt();,每次重新输入时更新变量值,解决无限循环问题
  • 初始输入前增加提示文本,明确告诉用户输入要求
  • 新增符合条件时的输出逻辑,打印用户输入的有效数值
  • 把变量声明和初始化分开,逻辑更清晰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:10:58