아래에는 자바로 구현한 윈도우 계좌 관리 프로그램의 코드와 해당 코드를 설명하는 내용을 제공합니다.
1. 내용 설명
이 프로그램은 윈도우에서 수입과 지출 내역을 기록하고 잔액을 관리하는 간단한 가계부 애플리케이션입니다. 사용자는 수입 및 지출 내역을 입력하고, 잔액을 자동으로 업데이트할 수 있습니다.
2. 프로그램 간 사용 함수 설명
- addIncome(): 수입 내역을 입력하고 잔액을 업데이트하는 함수.
- addExpense(): 지출 내역을 입력하고 잔액을 업데이트하는 함수.
- viewTransactions(): 기록된 수입 및 지출 내역을 조회하는 함수.
- calculateBalance(): 잔액을 계산하는 함수.
3. 코딩 내용
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
public class AccountManagementApp extends JFrame {
private double balance = 0.0;
private ArrayList<String> transactions = new ArrayList<>();
private JTextField transactionField;
private JTextArea transactionArea;
public AccountManagementApp() {
setupUI();
}
private void setupUI() {
setTitle("가계부 앱");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
transactionField = new JTextField();
panel.add(transactionField, BorderLayout.NORTH);
transactionArea = new JTextArea();
transactionArea.setEditable(false);
panel.add(new JScrollPane(transactionArea), BorderLayout.CENTER);
JButton addButton = new JButton("추가");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addTransaction();
}
});
panel.add(addButton, BorderLayout.SOUTH);
add(panel);
setVisible(true);
}
private void addTransaction() {
String transactionText = transactionField.getText();
if (!transactionText.isEmpty()) {
// transactionText에서 내용과 금액을 구분
String[] parts = transactionText.split(" ");
if (parts.length >= 2) {
String content = parts[0];
try {
double amount = Double.parseDouble(parts[1]);
balance += amount;
transactions.add("내용: " + content + ", 금액: " + amount);
updateTransactionArea();
transactionField.setText("");
JOptionPane.showMessageDialog(this, "거래가 추가되었습니다. 현재 잔액: " + balance);
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(this, "올바른 숫자 형식을 입력하세요.");
}
} else {
JOptionPane.showMessageDialog(this, "올바른 형식으로 거래 내역을 입력하세요 (예: 내용 1000).");
}
}
}
private void updateTransactionArea() {
transactionArea.setText("거래 내역:\n");
for (String transaction : transactions) {
transactionArea.append(transaction + "\n");
}
transactionArea.append("현재 잔액: " + balance);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
new AccountManagementApp();
});
}
}
4. 전문 용어
- 수입 내역: 사용자가 받는 돈 또는 수입과 관련된 내역.
- 지출 내역: 사용자가 지출하는 돈 또는 지출과 관련된 내역.
5. 라이브러리 추가 및 실행 방법
이 코드는 Java Swing 라이브러리를 사용하므로 추가 라이브러리가 필요하지 않습니다.
실행 방법:
- 위의 코드를 복사하여 Java 파일로 저장합니다.
- 명령 프롬프트 또는 터미널에서 해당 디렉토리로 이동한 후 다음 명령을 실행합니다.
컴파일
javac -encoding UTF-8 AccountManagementApp.java
실행
java AccountManagementApp
'자바(java)' 카테고리의 다른 글
다기능 멋진 브라우저: 웹 페이지를 열고 탐색할 수 있는 멋진 브라우저를 만듭니다. (1) | 2023.12.21 |
---|---|
전자책 페이지를 넘길 수 있는 리더 애플리케이션을 제작다. (0) | 2023.12.21 |
사진 모자이크: 얼굴 또는 민감한 정보를 모자이크 처리하여 사진을 편집합니다. (1) | 2023.12.21 |
노트 테이킹 앱: 메모를 작성하고 관리하는 간단한 노트 애플리케이션을 개발합니다. (0) | 2023.12.21 |
스마트 홈 컨트롤러: 가전 제품 및 조명을 제어하는 스마트 홈 컨트롤 앱을 제작합니다. (0) | 2023.12.20 |