Java プログラミング演習

200 以上の実践的なコーディングチャレンジを通じて Java プログラミングを練習しましょう。データ構造、アルゴリズム、オブジェクト指向プログラミング(OOP)、および Java の核心概念をカバーする実世界のプロジェクトで、初心者がスキルを向上させるのに最適です。

Java

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

シラバス

連結リストの要素へのアクセス

HashMap の要素へのアクセス

別のクラスからの静的プロパティのアクセス

文字列の等価性の確認

インデックス付きのリンクリストを作成する

学生の最低得点と最高得点を求める

デキューデータ構造を実装する

パラメータ付きのラムダ式の実装

マルチレベル継承の実装

ArrayList から 2 番目の要素を削除する

選手の年齢を昇順にソートする

クラスメソッド情報取得

スレッドの並列実行

文字の出現回数のカウント

カスタム正規表現

チケットシステムにおけるデータ共有の問題

複数のインターフェイスにおけるデフォルトメソッド

幾何学的形状を描画する

4 分の 1 から 0 へ

手動でキューを実装する

データ操作のための Lambda 式

行列要素情報の表示

重複する数字を削除する

観光名所のチケット料金設定

兄弟によるお金の分け合いゲーム

図書館のシミュレーション

例外を使ったりんご配分問題の解決

HashSet を使ったデータ情報の格納

大きな数の和

3 桁の数の桁の合計

唯一の神

Stream の使い方

身分証番号の検証

シンプルな Java 出力文

暗号化と復号化を実装する

学生の名前のアクセスと変更

スーパークラスのオーバーライドされたメソッドへのアクセス

クラス内の静的プロパティのアクセス

スーパークラスのコンストラクタへのアクセス

ArrayList に要素を追加する

特定のインデックスに要素を追加する ArrayList

抽象化を用いた面積計算プログラム

体重と身長を使って BMI を計算する

辺の長さから立方体の体積を計算する

給与に基づく社員ボーナスの計算

元本に基づく利息の計算

選手の平均身長を計算する

配列を使ったパーセンテージの計算

クラスを使って長方形の面積を計算する

長方形の寸法を計算する

桁の合計を計算する

数の階乗を計算する

2 つの三角形の面積の計算

数の累乗の計算

Java における標準偏差の計算

自然数の合計の計算

円の面積の計算

正方形の面積の計算

メソッドを 2 回呼び出す

合格、不合格、または無効をチェックする

Java を使った氷点下と高温 (IcyHot) な温度のチェック

配列の最初と最後の要素を比較する

入力された数値を連続して合計する

Java を使ったキロメートルとマイルの変換

文字列の母音をカウントする

整数の桁数をカウントする

文字 'a' の出現回数のカウント

電卓プログラムを作成する

列挙型クラスの作成 - サイズ

動物 - 犬の階層構造の作成

数の因数を求める

入力からより長い文字列を決定する

学生間の最大握手回数を求める

学生の評点を決定する

2 つの引数の等価性の判定

偶数か奇数かを判定する

Java でハルシャッド数を判定する

数がアームストロング数であるかどうかを判定する

素数判定

子供たちにチョコレートを分配する

従業員の給与管理をカプセル化する

文字列としての列挙型定数

0 から 10 までの数字から 3 の倍数を除外する

華氏から摂氏への変換プログラム

2 つのハッシュセットの違いを見つける

2 つのハッシュセットの共通部分を見つける

100 未満の最大の倍数を見つける

配列内の最小要素を見つける

最年少の弟を見つける

ArrayList の中のネモを見つける

区間内の素数の探索

2 つの数の最大公約数を求める

最小公倍数の求め方

FizzBuzz プログラム:ユーザー入力の解説

ループを使って掛け算表を生成する

それ自身を除く最大の因数

自己割り数を識別する

Java を使った過剰数の識別

正方形の面積を計算するためのインターフェイスの実装

LinkedList を使用したキューの実装

異なるパラメータに対するメソッドのオーバーロード

異なるパラメータ型を使ったメソッドのオーバーロード

HashMap 内の要素を変更する

Java を使った ArrayList の変更

複数クラスにおけるメソッドのオーバーライド

単一のクラスを継承する複数のクラス

配列に 10 を掛ける

final メソッドのオーバーロードのデモ

親クラスのメソッドのオーバーライド

回文数のチェック

複素数の加算を行う

ポンドからキログラムへの変換プログラム

プリミティブ型からラッパークラスへ

任意の型のデータを表示する

配列から偶数を出力する

アルファベット以外の文字を出力する

任意のデータ型の値を出力する

配列要素の表示

文字列の個々の文字の出力

文を 3 回出力する

HashMap から要素を削除する

数値を逆順にするプログラム

店舗損益計算機

単利計算プログラム

文字列の連結:2 つのテキストの結合

文字列変換:最初の文字を大文字にする

座標の減算

一時変数を使った 2 つの数値の入れ替え

三角形の有効な内角

閏年条件を検証する

Java を使って素数の状態を検証する

クラスインスタンスの検証

投票資格判定プログラム

エアプレーンバトルゲーム

エイリアンの細胞分裂

任意の半径の円の面積

自動車販売市場

銀行口座プログラム

花が美しさを競う

Spring Boot の構築と展開

名刺配布

シーザー暗号の暗号化

立方体の体積の計算

円柱の体積の計算

チャットルームのシミュレーション

クラスの成績順位

クラスのプロパティとメソッド

品詞による単語の分類

鶏ウサギ同棲問題

設定ファイルの内容

アノテーションを使ったクラスパラメータの構成

部分文字列の出現回数のカウント

アノテーションの定義

グラフィックインターフェイスの設計と実装

複数のインターフェイスの設計と実装

宇宙船の帰還の可否を判断する

例外処理を用いた三角形の形成可能性判定

食事する哲学者の同期

Iterator を使ったデータ情報の表示

例外処理を使ったりんごの分配

効率的な生徒成績分析プログラム

学生情報を入力する

性別情報の列挙型クラス

フィボナッチ数列のプログラミング

ファイルコンテンツのフィルタリング

UDP プロトコルに基づくファイルアップロード

複数の要件に対応する制御文

面白いコードの完成

Google のホームページから情報を取得する

不正な成績の処理

Java を使った Hello LabEx

各月の日数

カウントダウンタイマースレッドを実装する

株式クラスを実装する

パスカルの三角形の実装

文字列の分割の実装

文字列ユーティリティクラスの実装

インテリジェントケアコールサービス

連結リストの交差

Java エンジニアの給与計算

孔融の寛大さ

Java を使った地主ゲームのシミュレーション

ウェインの自動的な高さ計算の打ち上げ

ログ情報の分類

一目惚れ

動的計画法を使ったエアプレーンチェスの得点最大化

航空機破壊数を最大化する戦略

3 つの数値の最大値。

継承を使って兵器設計を修正する

自己愛数判定

Java 配列を使った宇宙橋の攻略

No Money Jewelry Store のマーケティング

回文数の数

女媧が人を造る

さまざまなクラスの Class オブジェクトの取得

メソッド参照による操作

バネ購入における最適な硬貨選択

スレッド付きリレーレースシミュレーションの最適化

三角形を出力する

本情報の出力

DOM を使った XML データ情報の解析

三角形の内部の点

プロデューサー-コンシューマーキューの実装

リフレクションを使って Person オブジェクトを作成する

finally を使って Scanner リソースを解放する

条件付き実行で姫を救出する

Java による 1 次元配列の反転

逆順に出力する単語リスト

英語の文の単語の順序を逆にする

equals メソッドの書き直し

3 グループで交互にデータを実行する

SAX を使った XML データのパース

二次元配列内の検索

サーブレットによるユーザー情報照会

簡易学生管理システム

シミュレートされた大学管理システム

宇宙船の速度制御

お助けください、陛下

木の螺旋状のトラバース

階段登りと残高予測

TreeSet を使ったデータ情報の格納

累積法による筋力トレーニング

String クラスのコンストラクタ

文字列情報統計

String クラスのメソッド

学生管理システム

学生点数ランキングシステム

部分文字列の出現回数

精霊召喚ゲームプレイ

魔法のポケット

壁に耳あり

漂う地球

五セントの願い

定数プールの理解

例外を用いたユーザー登録の検証

継承を使ってコードを節約する

いつ十分なお金を貯められるか

ファイルへのオブジェクトの書き込み

陰と陽

はじめに

239 のハンズオン coding challenge からなるライブラリで、Java の問題解決力を強化します。短い syntax・計算問題から、data structure、OOP、file、functional API、concurrency、network、選択的な application technology まで幅広く含みます。

一つのガイド付き経路ではなく、非線形の練習バンクです。現在のテーマに合う課題を選び、弱点を復習し、すべてを順番に終えずに console program から専門的な演習へ進めます。

学習内容

関連するチャレンジを行うことで、次のことができるようになります。

  • input、operator、condition、loop、method、array、matrix、string、numeric type を小さな program に適用する。
  • calculation、number property、sequence、search、sort、text processing、traversal の問題を解く。
  • ArrayList、LinkedList、queue、deque、map、set、iterator、custom data structure を構築・操作する。
  • class、encapsulation、inheritance、abstraction、interface、overloading、overriding、enum、generic で動作をモデル化する。
  • lambda、method reference、stream、annotation、reflection、regular expression を焦点化した課題で使う。
  • exception を処理し、text file、object serialization、configuration、DOM/SAX XML parsing を扱う。
  • shared state、synchronization、producer-consumer queue、古典的 concurrency exercise で thread を調整する。
  • core Java を越える個別の GUI、UDP networking、servlet、HTTP、Spring Boot scenario を試す。

このコースの対象者

Java の基本 syntax をすでに理解し、大量の独立演習を求める方に適しています。coding 練習、特定 API や language feature の復習、入門課程を越えた challenge に取り組みたい中級者にも役立ちます。

前提知識: 基本 Java program を書き、compile・debug し、variable、control flow、method、class、array を理解している必要があります。専門課題には collection、file、concurrency、network、XML、servlet、Spring Boot の対応知識が必要で、すべての前提を順番に教える構成ではありません。

学習環境: 239 のチャレンジは提供される Java coding environment で実行します。多くは source code の編集・compile・run ですが、個別課題では file、GUI API、network、servlet tooling、Spring Boot を使うため環境詳細は異なります。

よくある質問

本当に Beginner course ですか?

全体は Beginner と表示され、多くは基礎問題ですが、generic、reflection、concurrency、network、servlet、Spring Boot も含みます。Java が初めてなら、先に初心者向け Java を完了してください。

239 のチャレンジをすべて順番に行う必要がありますか?

いいえ。非順序型 course として設定されています。検索可能な練習 library として、現在のテーマと準備度に合うものを選んでください。

ガイド付き tutorial ですか、独立 exercise ですか?

239 lesson の walkthrough ではなく、challenge-style coding task です。各課題は実装すべき問題を示すため、すでに学んだ概念の応用に向いています。

Spring Boot、servlet、GUI、network の課題で各分野を体系的に学べますか?

いいえ。大きな集合に含まれる個別の拡張 challenge です。framework、Web、desktop、network を体系的に学ぶには、Java 基礎後に専用 course を選んでください。

講師

labby
Labby
Labby is the LabEx teacher.