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

Java实现十位大于个位的两位数筛选与输入校验逻辑修正

功能需求
  • 筛选10-99区间的两位数,仅打印十位数字大于个位数字的数值
  • 基于JOptionPane实现输入交互:仅支持输入两位数,若输入值小于10或大于99,弹出MessageDialog错误提示
  • 输入输出示例:依次输入91、47、68、21时,最终输出结果为91, 21
现存问题

当前编写的代码仅完成了输入值的范围判断,未实现十位与个位的大小比对筛选逻辑,所有落在10-99区间的数值都会被直接打印,不符合需求。原有代码如下:

int numbers;
while (true) {
    numbers = Integer.parseInt(JOptionPane.showInputDialog(null, "ENTER THE NUMBERS BETWEEN 10 AND 99"));
    if (numbers >= 10 && numbers <= 99) {
        System.out.print(numbers + " ");
    } else if (numbers != 99) {
        JOptionPane.showMessageDialog(null, "WRONG NUMBER!");
    }
}
修正逻辑
  1. 对通过范围校验的两位数做数位拆分:整数除法/10取十位数字,取模运算%10取个位数字

数位计算示例:对数值91,91/10 = 9(十位),91%10 = 1(个位),9>1符合筛选要求;对数值47,47/10=4,47%10=7,4<7不符合要求。

  1. 新增大小判断分支:仅当十位数字大于个位数字时,才将该数值存入待输出集合
  2. 调整输出格式为逗号分隔,匹配示例要求
  3. 补全循环退出逻辑(约定输入0或点击弹窗取消按钮时终止输入),统一错误提示触发规则,将所有非10-99区间且非退出指令的输入判定为非法输入,弹出错误提示
修正后可运行代码
import javax.swing.JOptionPane;
import java.util.ArrayList;
import java.util.List;

public class TwoDigitFilter {
    public static void main(String[] args) {
        int inputNum;
        List<Integer> matchedNums = new ArrayList<>();

        while (true) {
            String inputContent = JOptionPane.showInputDialog(null, "请输入10-99之间的两位数,输入0或点击取消结束操作");
            // 处理用户点击取消按钮的场景
            if (inputContent == null) {
                break;
            }
            inputNum = Integer.parseInt(inputContent);

            // 输入0触发退出
            if (inputNum == 0) {
                break;
            }

            // 范围校验
            if (inputNum >= 10 && inputNum <= 99) {
                int tensDigit = inputNum / 10;
                int onesDigit = inputNum % 10;
                if (tensDigit > onesDigit) {
                    matchedNums.add(inputNum);
                }
            } else {
                JOptionPane.showMessageDialog(null, "输入错误,请输入10-99之间的两位数");
            }
        }

        // 格式化输出结果
        System.out.println(String.join(", ", matchedNums.stream().map(String::valueOf).toArray(String[]::new)));
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:42:32