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

Java余数运算符使用求助:编写判断整数倍数的程序

Java入门:判断整数倍数的程序修正与基础讲解

1. 核心知识点通俗解释

  • 余数运算符%:类比小学除法的余数——比如10÷3商3余1,10 % 3的结果就是1。如果数A % 数B == 0,说明数A能被数B整除,也就是数A是数B的倍数。
  • if-else语句:就是日常的“如果满足条件就做A,否则做B”逻辑,比用两个独立if更严谨,不会出现逻辑重叠。
  • 代码括号规则:if/else后面如果只有一行代码,可以省略大括号,但建议始终用大括号包裹代码块——就像给代码加个“边界”,后续加代码时不容易出错。

2. 你的代码问题梳理

原代码存在这些明显错误:

  • 没有创建读取输入的Scanner对象,input变量未定义
  • 判断逻辑错误:用“两数相等”代替了“余数为0”的倍数判断
  • printf格式串语法错误:引号不匹配、占位符和参数对应错误
  • 缺少除数非零判断:直接用number2做除数会触发除以0的报错

3. 完整修正代码

import java.util.Scanner; // 导入读取输入的工具类

public class MultipleChecker {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in); // 创建输入读取对象

        // 获取第一个整数
        System.out.print("Enter first integer: ");
        int number1 = input.nextInt();

        // 获取第二个整数
        System.out.print("Enter second integer: ");
        int number2 = input.nextInt();

        // 判断倍数关系(先排除除数为0的情况)
        if (number2 != 0 && number1 % number2 == 0) {
            System.out.printf("%d is a multiple of %d%n", number1, number2);
        } else {
            System.out.printf("%d is not a multiple of %d%n", number1, number2);
        }

        input.close(); // 关闭输入通道,释放资源
    }
}

4. 代码细节说明

  • Scanner导入与创建:import java.util.Scanner;相当于告诉程序“我要用到输入工具”,Scanner input = new Scanner(System.in);则是打开了键盘输入的通道。
  • 除数非零判断:number2 != 0必须放在前面,避免出现除以0的运行错误。
  • printf用法:%d是整数占位符,后面的参数会按顺序替换占位符,%n是跨平台的换行符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:10:50