Javaで作れるアプリ例5選!初心者でも実現可能

Java

はじめに

Javaは、世界中で広く使われているプログラミング言語であり、初心者にも適した学習環境が整っています。その特徴として、オブジェクト指向の概念を学びやすく、クロスプラットフォームでの開発が可能である点が挙げられます。また、豊富なライブラリやフレームワークが用意されており、さまざまなアプリケーションの開発に対応しています。

本記事では、Java初心者でも取り組みやすいアプリケーションの例を4つ紹介します。これらのプロジェクトを通じて、Javaの基本的な文法や概念を実践的に学ぶことができます。

1. 電卓アプリ

概要

電卓アプリは、基本的な四則演算(加算、減算、乗算、除算)を行うシンプルなアプリケーションです。GUI(Graphical User Interface)を使用して、ユーザーがボタンをクリックすることで計算を行います。

学べるポイント

  • GUIの構築(SwingやJavaFXの使用)
  • イベントハンドリング(ボタンのクリックイベント処理)
  • 基本的な演算処理

サンプルコード(Swingを使用)

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Calculator extends JFrame implements ActionListener {
JTextField display;
double num1, num2, result;
char operator;

public Calculator() {
setTitle("電卓アプリ");
setSize(300, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLayout(new BorderLayout());

display = new JTextField();
add(display, BorderLayout.NORTH);

JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 4));

String[] buttons = {
"7", "8", "9", "/",
"4", "5", "6", "*",
"1", "2", "3", "-",
"0", "C", "=", "+"
};

for (String text : buttons) {
JButton button = new JButton(text);
button.addActionListener(this);
panel.add(button);
}

add(panel, BorderLayout.CENTER);
setVisible(true);
}

public void actionPerformed(ActionEvent e) {
String input = e.getActionCommand();
// 入力処理の実装
}

public static void main(String[] args) {
new Calculator();
}
}

このコードは、基本的な電卓のGUIを構築する例です。actionPerformedメソッド内に、ボタンの入力に応じた処理を実装することで、電卓としての機能を完成させます。

2. クイズアプリ

概要

クイズアプリは、ユーザーに質問を提示し、選択肢から正解を選ばせる形式のアプリケーションです。正解・不正解の判定やスコアの計算などを通じて、条件分岐やループ処理の理解を深めることができます。

学べるポイント

  • 条件分岐(if文、switch文)
  • ループ処理(for文、while文)
  • 配列やリストの操作

サンプルコード(コンソールアプリ)

import java.util.Scanner;

public class QuizApp {
public static void main(String[] args) {
String[] questions = {
"Javaはどの会社によって開発されましたか?",
"Javaの拡張子は何ですか?"
};
String[][] options = {
{"1. Microsoft", "2. Sun Microsystems", "3. Apple", "4. IBM"},
{"1. .java", "2. .class", "3. .jar", "4. .exe"}
};
int[] answers = {2, 1};

Scanner scanner = new Scanner(System.in);
int score = 0;

for (int i = 0; i < questions.length; i++) {
System.out.println(questions[i]);
for (String option : options[i]) {
System.out.println(option);
}
System.out.print("答えを入力してください(数字で):");
int input = scanner.nextInt();
if (input == answers[i]) {
System.out.println("正解です!");
score++;
} else {
System.out.println("不正解です。");
}
System.out.println();
}
System.out.println("あなたのスコアは " + score + " / " + questions.length + " です。");
scanner.close();
}
}

このコードは、コンソール上で動作する簡単なクイズアプリの例です。配列を使用して質問と選択肢を管理し、ユーザーの入力に応じて正誤判定を行います。

3. ToDoリストアプリ

概要

ToDoリストアプリは、ユーザーがタスクを追加、表示、削除できるアプリケーションです。データの保存や読み込みを通じて、ファイル操作やデータ構造の理解を深めることができます。アリカ

学べるポイント

  • データ構造(リスト、マップなど)の使用
  • ファイルの読み書き(File I/O)
  • CRUD操作(Create, Read, Update, Delete)

サンプルコード(コンソールアプリ)

import java.util.ArrayList;
import java.util.Scanner;

public class ToDoListApp {
public static void main(String[] args) {
ArrayList<String> tasks = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. タスク追加 2. タスク表示 3. タスク削除 4. 終了");
System.out.print("選択してください:");
int choice = scanner.nextInt();
scanner.nextLine(); // 改行の消費
switch (choice) {
case 1:
System.out.print("追加するタスクを入力してください:");
String task = scanner.nextLine();
tasks.add(task);
break;
case 2:
System.out.println("現在のタスク一覧:");
for (int i = 0; i < tasks.size(); i++) {
System.out.println((i + 1) + ". " + tasks.get(i));
}
break;
case 3:
System.out.print("削除するタスクの番号を入力してください:");
int index = scanner.nextInt() - 1;
if (index >= 0 && index < tasks.size()) {
tasks.remove(index);
System.out.println("タスクを削除しました。");
} else {
System.out.println("無効な番号です。");
}
break;
case 4:
System.out.println("終了します。");
scanner.close();
return;
default:
System.out.println("無効な選択です。");
}
System.out.println();
}
}
}

このコードは、コンソール上で動作するToDoリストアプリの例です。ArrayListを使用してタスクを管理し、ユーザーの入力に応じてタスクの追加、表示、削除を行います。

4. チャットアプリ

概要

チャットアプリは、複数のユーザーがリアルタイムでメッセージを交換できるアプリケーションです。ネットワークプログラミングやマルチスレッド処理の基礎を学ぶのに適しています。NinjaCode

学べるポイント

  • ソケット通信(Socket Programming)
  • マルチスレッド処理
  • クライアント・サーバーアーキテクチャNinjaCode

サンプルコード(サーバー側)

import java.io.*;
import java.net.*;

public class ChatServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(12345);
System.out.println("チャットサーバーが起動しました。");
while (true) {
Socket clientSocket = serverSocket.accept();
new Thread(new ClientHandler(clientSocket)).start();
}
}
}

class ClientHandler implements Runnable {
private Socket socket;
public ClientHandler(Socket socket) {
this.socket = socket;
}
public void run() {
try {
BufferedReader in = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println("受信: " + inputLine);

::contentReference[oaicite:111]{index=111}

おわりに

ここまで、Javaで作れる初心者向けのアプリを4つご紹介しました。
どれも難しすぎず、でもしっかりとプログラミングの基礎を学べる内容ばかりです。
まずは簡単なアプリから挑戦し、Javaの楽しさと可能性を実感してみてください。

もし「どうやって始めればいいか分からない」「もっと深く学びたい」「転職も視野に入れている」という方は、まずは【絶対にJavaプログラマーになりたい人へ】を読んで自己学習を進めましょう。

そして、学習を進める中で、

  • プログラムソースのレビューを受けたい
  • プログラミングの理解をもっと深めたい
  • Javaを活かして本気で転職したい

という方には【サイゼントアカデミー】を強くおすすめします。

絶対にJavaプログラマーになりたい人へ。
サイゼントアカデミー

一歩踏み出すことで、未来は大きく変わります。
Javaであなたのキャリアを切り開いていきましょう!

コメント

タイトルとURLをコピーしました