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

如何为Java输入去重程序添加数值大于10小于100的校验规则

代码修改方案

你只需要在读取用户输入的环节增加范围校验逻辑即可,输入不符合10~100区间时,循环提示用户重新输入,直到拿到合法值再走后续的重复判断流程,完全不影响原有最小长度数组的要求,适配全部不重复的最坏情况。

核心修改点

  • 读取输入后新增范围判断,输入不合法时不进入后续重复校验逻辑,要求用户重新输入
  • 补充新增唯一值后立即输出当前全部唯一值的逻辑,符合需求要求
  • 原有重复校验、数组存储、最终结果输出逻辑完全保留,不需要调整

修改后完整代码

import java.util.Scanner;
import java.util.Arrays;

public class IsDuplicate {
    
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        // 数组长度为5,刚好适配5个数字全部不同的最坏情况,符合最小长度要求
        int array[] = new int[5];
        int size = 0;
        int x;
        
        for (int i = 0; i < 5; i++) {
            // 范围校验死循环:拿到合法输入才跳出
            while (true) {
                System.out.print("请输入10到100之间的整数: ");
                x = input.nextInt();
                if (x >= 10 && x <= 100) {
                    break;
                }
                System.out.println("输入无效,请重新输入!");
            }
         
            if(size == 0 || newNumber(array, size, x)) {
                System.out.println(x + "是首次输入");
                array[size] = x;
                size++;
                // 每次输入新的唯一值后展示当前全部唯一值
                System.out.println("当前已输入的唯一值列表:");
                for (int j = 0; j < size; j++) {
                    System.out.println("唯一值" +(j+1)+ ": " +array[j]);
                }
            }
        }
        
        System.out.println("最终输入的全部唯一值为:");
        for (int i = 0; i<size; i++) {
            System.out.println("唯一值" +(i+1)+ ": " +array[i]);
        }
    }

    private static boolean newNumber(int y[], int size, int x) {
        for (int i = 0; i < size; i++) {
            if (y[i] == x) {
                return false;
            }
        }
        return true;
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:06:03