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

如何在Java类间调用?新手求助跨类实现加减功能

嘿,很高兴你通过实际例子来学习多类协作,这绝对是掌握Java类交互的好办法!你已经搞定了两个负责核心计算的工具类,现在只需要在主类里根据输入的运算符,调用对应的静态方法就行,其实非常直观,我给你完整的解决方案和解释:

完整的主类代码示例
package christmas;

import java.util.Scanner;

public class CalculatorMain {
    public static void main(String[] args) {
        // 初始化Scanner读取键盘输入
        Scanner scanner = new Scanner(System.in);

        // 获取用户输入的两个整数
        System.out.print("请输入第一个数字: ");
        int num1 = scanner.nextInt();
        System.out.print("请输入第二个数字: ");
        int num2 = scanner.nextInt();

        // 获取运算符
        System.out.print("请输入运算符(+或-): ");
        char operator = scanner.next().charAt(0);

        // 根据运算符分支调用对应类的方法
        int result;
        switch (operator) {
            case '+':
                // 直接通过类名调用静态方法,无需创建对象
                result = addintegers.add2numbers(num1, num2);
                break;
            case '-':
                result = subtractintegers.sub2numbers(num1, num2);
                break;
            default:
                System.out.println("抱歉,只支持+和-运算符哦!");
                scanner.close();
                return; // 终止程序,避免后续错误执行
        }

        // 输出计算结果
        System.out.printf("计算结果: %d %c %d = %d%n", num1, operator, num2, result);

        // 关闭Scanner资源
        scanner.close();
    }
}
关键知识点解释
  • 静态方法的调用方式:你写的add2numbers和sub2numbers都是static方法,这类方法属于类本身,不需要创建类的实例对象,直接用类名.方法名(参数)就能调用,这是跨类调用静态方法最直接的方式。
  • 包访问权限:因为你的三个类都在christmas包下,Java默认允许同包类之间直接访问,所以不需要额外写import语句导入那两个计算类。如果主类在不同包,才需要添加import christmas.addintegers;和import christmas.subtractintegers;。
  • 分支逻辑处理:用switch或者if-else判断运算符,然后在对应分支里调用不同类的方法,这样就能实现根据用户输入动态选择调用的类。
小建议(规范优化)

Java的命名规范建议类名采用大驼峰式(首字母大写,每个单词首字母大写),比如把addintegers改成AddIntegers,subtractintegers改成SubtractIntegers,这样代码可读性会更高,也符合行业惯例哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:13:52