プログラミング

Javaで料理をする

概要 キッチンで食材を調理する。 interface CookMaterial { public void cut(); public void roast(); public void fly(); public void boil(); public void flavoring(String seasoning); } class Carrot implements CookMaterial { String status;// 食材…

Javaで携帯電話料金プランの計算をしてみる

概要 携帯電話料金プラン枚の請求額計算システムをJavaで書いてみる。 interface Plan { public int getBill(int call, int packet); public String getPlanName(); } class DummyPlan implements Plan { public DummyPlan() { System.out.println("デバッグ…

Javaで昆虫の飼い主を表現する

概要 昆虫を買う飼い主が昆虫の世話をする挙動を確認する。 class PetOwner { Insect insct; public PetOwner(Insect insct) { System.out.println(insct + "の飼い主です"); this.insct = insct; } public void feed() { System.out.println(insct + "にエ…

Javaで昆虫を動かす

概要 Insectインターフェースを昆虫クラスに実装する。昆虫の動作を確認する。 interface Insect { int legs = 6; void move(); void eat(); void cry(); } class Grasshopper implements Insect { public Grasshopper() { System.out.println("キリギリスで…

Javaで抽象クラスとインターフェースの合わせ技

概要 人間の振る舞いをするメソッドを持つ学生クラスと学生クラスを継承する大学生クラスと高校生クラスを作る。このオブジェクトが通う学校クラスも作り、学生と学校との間でのやりとりを確認する。メソッドの動的結合を使う。 interface Study { public vo…

抽象クラス

概要 単なる継承ではなく抽象クラスを使って四則演算処理を記述しオブジェクトの動きを確認する。 abstract class CalcBase { void execute(int x, int y) { System.out.println("x=[" + x + "]"); System.out.println("x=[" + y + "]"); int ans = calc(x, …

Java インターフェース

概要 動物の振る舞いを表すインターフェースを実装した犬と猫のクラスを作り、それらのオブジェクトの動きを確認する。 import java.io.IOException; interface Animal { public abstract void eat(String food); public abstract void sing(); } class Dog …

JavaでMIDIを扱う

概要 テキストファイルに記録された音階を読み込み音を鳴らす。 例外をキャッチし対処する。 1.コマンドラインから音階の番号が保存されたテキストファイルを指定する。 2.テキストファイルを1行ずつ読み、音を出す。 3.コマンドラインでファイルの指定がな…

階乗の計算に自作の例外処理を加える

概要 コマンドラインで指定した数の階乗を計算して表示する。 計算結果が負の値になる場合はその旨を表示する。 class Factorial { private int value; // 階乗を求めたい値 private int factorial;// 階乗の値 public Factorial(int value) throws Factoria…

年齢にマイナスを入れると例外を発生する

概要 いわゆるユーザー情報管理 ありえない年齢を入力すると例外を発生する。 1.コマンドラインからユーザー名と年齢を指定する。 2.仮のデータとして名無し、0歳のオブジェクトを生成する。 3.名前と年齢をコマンドラインから受け取った値に設定する。 4.…

テキストファイルの内容を表示する

概要 1.コマンドラインからテキストファイル名を指定する 2.コマンドラインに引数がない場合はプログラム終了 3.指定したファイルが存在しない場合は例外を投げてプログラム終了 4.ファイルが存在する場合は1行ずつ内容を画面に表示する(行番号入り) import…

コマンドライン引数から文字列を取り込み数値として認識させる

概要 コマンドライン引数から文字列を取り込む。 文字列を数値に変換して表示する。 変換できない場合は投げられた例外を受け取る。 public class CommandLineTest { public static void main(String[] args) { if (args.length == 0) { System.out.println(…

除算の例外を扱う

概要 演算に例外が発生するとその旨を表示する。 class Divide { int dividend; int divisor; int result; Divide(int dividend, int divisor) { this.dividend = dividend; this.divisor = divisor; System.out.print("オブジェクトを生成しました "); } pu…

未確保の配列領域にアクセスする

概要 未確保の配列領域にアクセスして発生した例外をキャッチしてみる。例外の練習。 public class ArrayIndexOutOfBoundsExceptionTest { public static void main(String[] args) { try { String[] myArray = new String[3]; System.out.println("正姿配列…

文字列数字列

概要 文字列数字列変換時の例外NumberFormatExceptionをキャッチしてみる。例外の練習。 public class NumberFormatExceptionTest { public static void main(String[] args) { try { System.out.println("文字列0123456789を数値に変換すると"); int val1 =…

0で除算する

概要 演算の例外ArithmeticExceptionをキャッチしてみる。例外の練習。 public class ArithmeticExceptionTest { public static void main(String[] args) { try { System.out.println("10を0で除算します"); int test = 10 / 0; } catch (ArithmeticExcepti…

在庫分析プログラムを考える

概要 在庫分析プログラムを作る。クラス継承の応用。 /*ものを表すItemクラス*/ class Item { private int count = 0;// 在庫数量 private int price = 0;// 単価 public int getCount() { return count; } public int getPrice() { return price; } public …

本の購入処理をプログラム化する

概要 本の購入をプログラム化して動作を確認する。既出のHuman_01を継承したBookBuyerクラスのオブジェクトが既出のShohinクラスを継承したShohinBookクラスのオブジェクトを購入する。継承の基本を学ぶ。 import java.util.ArrayList; /*本を買う人*/ class…

ネコを作る

概要 猫を表すクラスとそれを継承するクラスを作成し動作を確認する。継承の基本を学ぶ。 class MyAnimals { private int age; public void setAge(int age) { this.age = age; } public int getAge() { return age; } } class MyCat extends MyAnimals { pr…

テレビデオ

概要 テレビを表すTelevisionクラスとテレビとビデオデッキが合体したTeleVideoクラスのオブジェクトをプログラム化し挙動を確認する。継承の基本を学ぶ。 class Television { private int channel; Television(int channel) { System.out.println("テレビの…

自動車のスピード

概要 自動車を表すCarクラスをスーパークラスとして、これを継承するRapidCarクラス、カーナビ搭載のCarWithNaviクラスを作り動作を確認する。継承の基本を学ぶ。 class Car {// スーパークラス private int speed;// 車のスピード Car(int speed) { System.…

概要 スーパークラスMyAnimalを継承するMyDogクラスを作り実行する。継承の基本を学ぶ。 class MyAnimal { private int age; public void segAge(int age) { this.age = age; } public int getAge() { return this.age; } } class MyDog extends MyAnimal { …

Javaで書籍を扱う

概要 商品としての特性をShohinクラスが持ち、これを継承するShohinBookクラスで書籍としての商品を扱う。ShohinBookクラスをShohinBookTest_1でオブジェクト化する。 //商品クラス class Shohin { private int price;// 商品の価格 privateが付いているメソ…

Javaでじゃんけんをする

概要 じゃんけんをするプログラム。 class Judge { String name;// 審判の名前 void judgement(Player no1, Player no2) {// じゃんけん一回させる no1.showPlayerHand(); no2.showPlayerHand(); System.out.println(no1 + "vs." + no2); if (((no1.playerHa…

Javaで2次方程式を扱う

概要 2次方程式を扱うプログラム。 class MyquadraticEquation { private double a;// x^2の係数 private double b;// x^1の係数 private double c;// x^0の係数 private double d;// 判別式の解 private MySolution solution;// 解 MyquadraticEquation(do…

Javaで分数を扱う

概要 分数の四則演算を行う。 class MyFraction { private int denominator;// 分母 private int numerator;// 分子 void setFraction(int denominator, int numerator) {// 既存オブジェクトに引数で指定された分子と分母を代入 this.denominator = denomin…

Javaで時間を操る

概要 時間の情報を扱う。フィールドに時・分・秒を保持する。二つの時間の和を求めるメソッドと差を求めるメソッド、一秒ずつ進めるメソッド、一秒ずつ減らすメソッドを作る。 class MyTime_1 { int day; int hour; int minute; int second; static int calc…

Javaで政治家を操作する

概要 コンストラクタ、メソッドの使い方を学ぶ。 class Human_01 { String name; int age; String address; int birth; static int numbers_of_humans; public Human_01() { // TODO Auto-generated constructor stub } Human_01(String name, int age, Stri…

Javaで文字列を操作する

概要 文字列操作のオブジェクトを生成し、フィールドに値を設定後文字処理(大文字変換、逆転写)を施し表示する。 class StringOperation { String originalString; String resultString; void doUpper() { resultString = originalString.toUpperCase(); } v…

Javaで電卓のシミュレーション

概要 電卓のように最後に施した演算の結果をフィールド変数に保存する。四則演算ができるようなプログラム。 class Calculator { double result; void clear() { result = 0; } void add(double a, double b) { result = a + b; } void add(double a) { resu…