- // 0906
- // 商品クラスです。
- // ひとつの商品に対するフィールドやフィールドを操作するためのメソッドを
- // 提供しています。
- public class Product {
- private String code; // 商品コード
- private String name; // 商品名
- private int price; // 商品定価
- // 商品コードに値を設定します。
- void setCode(String code) {
- this.code = code;
- }
- // 商品コードの値を取得します。
- String getCode() {
- return this.code;
- }
- // 商品名に値を設定します。
- void setName(String name) {
- this.name = name;
- }
- // 商品名の値を取得します。
- String getName() {
- return this.name;
- }
- // 商品定価に値を設定します。
- void setPrice(int price) {
- if (price < 0) {
- this.price = 0;
- return;
- }
- this.price = price;
- }
- // 商品定価の値を取得します。
- int getPrice() {
- return this.price;
- }
- }
□ 実行結果
$ java TestProduct 商品のインスタンスを生成しました。 p1 = Product@f6a746 code = A001 name = パソコン price = 188000 商品のインスタンスを生成しました。 p2 = Product@15ff48b code = P001 name = プリンター price = -24000
[アクセス修飾子] クラス名(引数リスト) { : }
- // 0907
- // 商品クラスです。
- // ひとつの商品に対するフィールドやフィールドを操作するためのメソッドを
- // 提供しています。
- public class Product {
- private String code; // 商品コード
- private String name; // 商品名
- private int price; // 商品定価
- // 商品クラスのコンストラクター。
- Product(String code, String name, int price) {
- this.code = code;
- this.name = name;
- this.price = price;
- }
- :
- }
- // 0907
- // 商品クラスをテストするクラスです。
- public class TestProduct {
- public static void main(String[] args) {
- Product p1 = new Product("A001", "パソコン", 188000);
- System.out.println("商品のインスタンスを生成しました。 p1 = " + p1);
- System.out.println(" code = " + p1.getCode());
- System.out.println(" name = " + p1.getName());
- System.out.println(" price = " + p1.getPrice());
- Product p2 = new Product("P001", "プリンター", -24000);
- System.out.println("商品のインスタンスを生成しました。 p2 = " + p2);
- System.out.println(" code = " + p2.getCode());
- System.out.println(" name = " + p2.getName());
- System.out.println(" price = " + p2.getPrice());
- }
- }
□ 実行結果
$ java TestProduct 商品のインスタンスを生成しました。 p1 = Product@f6a746 code = A001 name = パソコン price = 188000 商品のインスタンスを生成しました。 p2 = Product@15ff48b code = P001 name = プリンター price = -24000
- // 0908
- // 商品クラスです。
- // ひとつの商品に対するフィールドやフィールドを操作するためのメソッドを
- // 提供しています。
- public class Product {
- private String code; // 商品コード
- private String name; // 商品名
- private int price; // 商品定価
- // 商品クラスのコンストラクター。
- Product(String code, String name, int price) {
- setCode(code);
- setName(name);
- setPrice(price);
- }
- :
- }
□ 実行結果
$ java TestProduct 商品のインスタンスを生成しました。 p1 = Product@f6a746 code = A001 name = パソコン price = 188000 商品のインスタンスを生成しました。 p2 = Product@15ff48b code = P001 name = プリンター price = 0
- // 0909
- // 商品クラスをテストするクラスです。
- public class TestProduct {
- public static void main(String[] args) {
- Product p1 = new Product(args[0], args[1], Integer.parseInt(args[2]));
- System.out.println("商品のインスタンスを生成しました。 p1 = " + p1);
- System.out.println(" code = " + p1.getCode());
- System.out.println(" name = " + p1.getName());
- System.out.println(" price = " + p1.getPrice());
- }
- }
□ 実行結果
$ java TestProduct B001 CD-ROM 20000 商品のインスタンスを生成しました。 p1 = Product@f6a746 code = B001 name = CD-ROM price = 20000
- // 0910
- // 商品クラスです。
- // ひとつの商品に対するフィールドやフィールドを操作するためのメソッドを
- // 提供しています。
- public class Product {
- private String code; // 商品コード
- private String name; // 商品名
- private int price; // 商品定価
- // 商品クラスのコンストラクター。
- Product(String code, String name, int price) {
- setCode(code);
- setName(name);
- setPrice(price);
- }
- // 商品クラスのコンストラクター。
- Product(String code, String name, String price) {
- setCode(code);
- setName(name);
- setPrice(price);
- }
- // 商品コードに値を設定します。
- void setCode(String code) {
- this.code = code;
- }
- // 商品コードの値を取得します。
- String getCode() {
- return this.code;
- }
- // 商品名に値を設定します。
- void setName(String name) {
- this.name = name;
- }
- // 商品名の値を取得します。
- String getName() {
- return this.name;
- }
- // 商品定価に値を設定します。
- void setPrice(int price) {
- if (price < 0) {
- this.price = 0;
- return;
- }
- this.price = price;
- }
- // 商品定価に値を設定します。
- void setPrice(String price) {
- setPrice(Integer.parseInt(price));
- }
- // 商品定価の値を取得します。
- int getPrice() {
- return this.price;
- }
- }
- // 0910
- // 商品クラスをテストするクラスです。
- public class TestProduct {
- public static void main(String[] args) {
- Product p1 = new Product(args[0], args[1], args[2]);
- System.out.println("商品のインスタンスを生成しました。 p1 = " + p1);
- System.out.println(" code = " + p1.getCode());
- System.out.println(" name = " + p1.getName());
- System.out.println(" price = " + p1.getPrice());
- }
- }
□ 実行結果
$ java TestProduct B001 CD-ROM 20000 商品のインスタンスを生成しました。 p1 = Product@f6a746 code = B001 name = CD-ROM price = 20000
- public class ArgsUtil {
- static boolean isValid(int count, String[] args, String message) {
- // ここにコードを記述してください。
- }
- static boolean isValid(int lcount, int hcount, String[] args, String message) {
- if (args.length < lcount || args.length > hcount) {
- System.err.println(message);
- return false;
- }
- return true;
- }
- }
- public class ArgsTest {
- public static void main(String[] args) {
- System.out.println("args.length=1: " +
- ArgsUtil.isValid(1, args, "引数をひとつ指定してください。"));
- System.out.println("1<=args.length<=3: " +
- ArgsUtil.isValid(1, 3, args, "ひとつ以上3つ以下の引数を指定してください。"));
- for (int i = 0; i < args.length; i++) {
- System.out.println("引数: " + args[i]);
- }
- }
- }
□ 実行結果
$ java Args java ArgsTest 引数をひとつ指定してください。 args.length=1: false ひとつ以上3つ以下の引数を指定してください。 1<=args.length<=3: false $ java ArgsTest Hello args.length=1: true 1<=args.length<=3: true 引数: Hello $ java ArgsTest Hello Java World 引数をひとつ指定してください。 args.length=1: false 1<=args.length<=3: true 引数: Hello 引数: Java 引数: World $ java ArgsTest Hello Java Java World 引数をひとつ指定してください。 args.length=1: false ひとつ以上3つ以下の引数を指定してください。 1<=args.length<=3: false 引数: Hello 引数: Java 引数: Java 引数: World
- public class Histogram {
- public static void main(String[] args) {
- Graph g = new Graph();
- for (int i = 0; i < 10; i++) {
- // コードを記述してください。
- }
- }
- }
□ 実行結果
$ java Histogram 9|********* 4|**** 8|******** 7|******* 0| 8|******** 6|****** 8|******** 5|***** 4|****
- public class GCD {
- int getGCD(String a, String b) {
- // コードを記述してください。
- }
- int getGCD(int a, int b) {
- int r;
- while ((r = a % b) != 0) {
- a = b;
- b = r;
- }
- return b;
- }
- }
- public class TestGCD {
- public static void main(String[] args) {
- GCD gcd = new GCD();
- System.out.println(args[0] + " と " + args[1] + " の最大公約数は, " + gcd.getGCD(args[0], args[1]) + " です。" );
- }
- }
□ 実行結果
$ java TestGCD 12 32 12 と 32 の最大公約数は, 4 です。
- public class Book {
- private String title; // 書名
- private String author; // 著作者
- // コンストラクター
- // コードを記述してください。
- // title のゲッター
- String getTitle() {
- return this.title;
- }
- // author のゲッター
- String getAuthor() {
- return this.author;
- }
- // title のセッター
- void setTitle(String title) {
- this.title = title;
- }
- // author のセッター
- void setAuthor(String author) {
- this.author = author;
- }
- }
□ Book.javaクラスをテストするアプリケーションBookTest.java
- public class BookTest {
- public static void main(String[] args) {
- Book b1 = new Book(args[0], args[1]);
- System.out.println(" Title:" + b1.getTitle());
- System.out.println("Author:" + b1.getAuthor());
- }
- }
□ 実行結果
$ java BookTest JavaBook Maruno Title:JavaBook Author:Maruno
- public class JankenTe {
- private int te; // 手
- static final String[] TE_NAMAE = {"ぐー", "ちょき", "ぱー"};
- // コンストラクター
- // コードを記述してください。
- // te のセッター
- void setTe(String te) {
- for (int i = 0; i < TE_NAMAE.length; i++) {
- if (TE_NAMAE[i].equals(te)) {
- this.te = i;
- return;
- }
- }
- this.te = 0;
- }
- // te のセッター
- void setTe(int te) {
- if (!(te == 0 || te == 1 || te == 2)) {
- this.te = 0;
- return;
- }
- this.te = te;
- }
- // te のゲッター
- int getTe() {
- return this.te;
- }
- }
□ JankenTe.javaクラスをテストするアプリケーションJankenAppl.java
- public class JankenAppl {
- public static void main(String[] args) {
- int n = Integer.parseInt(args[0]);
- JankenTe te1 = new JankenTe(n);
- JankenTe te2 = new JankenTe(JankenTe.TE_NAMAE[n]);
- System.out.println("手1: " + te1.getTe());
- System.out.println("手2: " + te2.getTe());
- }
- }
□ 実行結果
$ java JankenAppl 0 手1: 0 手2: 0 $ java JankenAppl 1 手1: 1 手2: 1 $ java JankenAppl 2 手1: 2 手2: 2
- public class JankenTe {
- private int te; // 手
- static final String[] TE_NAMAE = {"ぐー", "ちょき", "ぱー"};
- // コンストラクター
- JankenTe(String te) {
- setTe(te);
- }
- JankenTe(int te) {
- setTe(te);
- }
- // te のセッター
- void setTe(String te) {
- for (int i = 0; i < TE_NAMAE.length; i++) {
- if (TE_NAMAE[i].equals(te)) {
- this.te = i;
- return;
- }
- }
- this.te = 0;
- }
- // te のセッター
- void setTe(int te) {
- if (!(te == 0 || te == 1 || te == 2)) {
- this.te = 0;
- return;
- }
- this.te = te;
- }
- // te のゲッター
- int getTe() {
- return this.te;
- }
- // オブジェクトの文字列化
- public String toString() {
- // コードを記述してください。
- }
- // じゃんけん
- char janken(JankenTe te) {
- final char[][] KEKKA = {{'分', '勝', '負'} // ぐー
- , {'負', '分', '勝'} // ちょき
- , {'勝', '負', '分'}}; // ぱー
- //コンピューター ぐー ちょき ぱー
- // コードを記述してください。
- }
- }
□ JankenTe.javaクラスをテストするアプリケーションJankenAppl.java
- public class JankenAppl {
- public static void main(String[] args) {
- JankenTe user = new JankenTe(args[0]);
- JankenTe computer = new JankenTe((int)(Math.random() * 3));
- System.out.print("結果: " + user.janken(computer));
- System.out.print(", user = " + user.toString());
- System.out.println(", computer = " + computer.toString());
- }
- }
□ 実行結果
$ java JankenAppl ぐー 結果: 分, user = ぐー, computer = ぐー $ java JankenAppl ぐー 結果: 勝, user = ぐー, computer = ちょき $ java JankenAppl ぐー 結果: 負, user = ぐー, computer = ぱー