简体中文简体中文
EnglishEnglish
简体中文简体中文

Java小项目源码分享:轻松入门实践项目,提升编

2025-01-01 00:53:36

随着信息技术的飞速发展,Java作为一种广泛应用于企业级应用、Android开发、大数据处理等领域的编程语言,受到了越来越多开发者的青睐。为了帮助初学者更好地理解和掌握Java编程,本文将分享一个简单的Java小项目源码,通过实践项目,提升编程技能。

一、项目简介

本项目是一个基于Java的简单计算器,可以实现对两个整数的加、减、乘、除运算。该项目旨在帮助初学者熟悉Java的基本语法、面向对象编程思想以及常用类库的使用。

二、项目结构

本项目采用MVC(Model-View-Controller)设计模式,将项目分为三个部分:

1.Model(模型):负责处理业务逻辑,包括计算器类(Calculator)和运算类(Operation)。

2.View(视图):负责展示用户界面,包括计算器界面(CalculatorFrame)。

3.Controller(控制器):负责接收用户输入,调用模型进行计算,并将结果显示在视图上,包括计算器控制器(CalculatorController)。

三、项目源码分析

1.计算器类(Calculator)

`java public class Calculator { public int add(int a, int b) { return a + b; }

public int subtract(int a, int b) {
    return a - b;
}
public int multiply(int a, int b) {
    return a * b;
}
public double divide(int a, int b) {
    if (b == 0) {
        throw new ArithmeticException("除数不能为0");
    }
    return (double) a / b;
}

} `

2.运算类(Operation)

`java public class Operation { public static final int ADD = 1; public static final int SUBTRACT = 2; public static final int MULTIPLY = 3; public static final int DIVIDE = 4;

public static String getOperationName(int operation) {
    switch (operation) {
        case ADD:
            return "+";
        case SUBTRACT:
            return "-";
        case MULTIPLY:
            return "*";
        case DIVIDE:
            return "/";
        default:
            return "";
    }
}

} `

3.计算器界面(CalculatorFrame)

`java import javax.swing.; import java.awt.; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;

public class CalculatorFrame extends JFrame { private JTextField firstNumberField; private JTextField secondNumberField; private JButton addButton; private JButton subtractButton; private JButton multiplyButton; private JButton divideButton; private JLabel resultLabel;

public CalculatorFrame() {
    setTitle("Java计算器");
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLayout(new GridLayout(5, 2));
    firstNumberField = new JTextField();
    secondNumberField = new JTextField();
    addButton = new JButton("+");
    subtractButton = new JButton("-");
    multiplyButton = new JButton("*");
    divideButton = new JButton("/");
    resultLabel = new JLabel("结果:");
    add(new JLabel("第一个数:"));
    add(firstNumberField);
    add(new JLabel("第二个数:"));
    add(secondNumberField);
    add(addButton);
    add(subtractButton);
    add(multiplyButton);
    add(divideButton);
    add(resultLabel);
    addButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            calculate(Operation.ADD);
        }
    });
    subtractButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            calculate(Operation.SUBTRACT);
        }
    });
    multiplyButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            calculate(Operation.MULTIPLY);
        }
    });
    divideButton.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            calculate(Operation.DIVIDE);
        }
    });
    pack();
    setLocationRelativeTo(null);
}
private void calculate(int operation) {
    try {
        int firstNumber = Integer.parseInt(firstNumberField.getText());
        int secondNumber = Integer.parseInt(secondNumberField.getText());
        Calculator calculator = new Calculator();
        switch (operation) {
            case Operation.ADD:
                resultLabel.setText("结果:" + calculator.add(firstNumber, secondNumber));
                break;
            case Operation.SUBTRACT:
                resultLabel.setText("结果:" + calculator.subtract(firstNumber, secondNumber));
                break;
            case Operation.MULTIPLY:
                resultLabel.setText("结果:" + calculator.multiply(firstNumber, secondNumber));
                break;
            case Operation.DIVIDE:
                resultLabel.setText("结果:" + calculator.divide(firstNumber, secondNumber));
                break;
            default:
                resultLabel.setText("结果:");
                break;
        }
    } catch (NumberFormatException e) {
        JOptionPane.showMessageDialog(this, "输入错误,请输入整数!", "错误", JOptionPane.ERROR_MESSAGE);
    } catch (ArithmeticException e) {
        JOptionPane.showMessageDialog(this, e.getMessage(), "错误", JOptionPane.ERROR_MESSAGE);
    }
}
public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
            new CalculatorFrame().setVisible(true);
        }
    });
}

} `

4.计算器控制器(CalculatorController)

在MVC设计模式中,控制器负责接收用户输入,调用模型进行计算,并将结果显示在视图上。在本项目中,控制器功能已经融入到CalculatorFrame类中,通过监听按钮点击事件,调用calculate方法实现。

四、总结

本文分享了一个简单的Java小项目源码,通过实践项目,帮助初学者熟悉Java的基本语法、面向对象编程思想以及常用类库的使用。希望这个项目能够为你的Java学习之路提供帮助。在实际开发过程中,可以在此基础上进行扩展,例如添加更多的运算功能、优化界面设计等。祝你在Java编程的道路上越走越远!