| <演習1>の解答例 |
| import java.util.Scanner; class Bunsuu // 分数を扱うクラス { int bunshi; // 分子 int bunbo; // 分母 double getVal(){ // 分数を数値で返す return (double)bunshi/bunbo; } } class Ensyu0901 { public static void main(String[] args) { int a,b; Bunsuu v = new Bunsuu(); Scanner sc = new Scanner(System.in); System.out.print("分子-->"); a = sc.nextInt(); System.out.print("分母-->"); b = sc.nextInt(); v.bunshi = a; v.bunbo = b; System.out.println(a+"/"+b+" = "+v.getVal()); } } |
| <演習2>の解答例 |
| import java.util.Scanner; class Bunsuu // 分数を扱うクラス { private int bunshi; private int bunbo; public void setBunshi( int x ){ bunshi = x; } public void setBunbo( int y ){ if( y==0 ){ System.out.println("【警告】分母は0を設定できません"); } bunbo = y; } public double getVal(){ // 分数を数値で返す return (double)bunshi/bunbo; } } class Ensyu0902 { public static void main(String[] args) { int a,b; Bunsuu v = new Bunsuu(); Scanner sc = new Scanner(System.in); System.out.print("分子-->"); a = sc.nextInt(); System.out.print("分母-->"); b = sc.nextInt(); //v.bunshi = a; //v.bunbo = b; v.setBunshi(a); v.setBunbo(b); System.out.println(a+"/"+b+" = "+v.getVal()); } } |
| <演習3>の解答例 |
| import java.util.Scanner; class Bunsuu // 分数を扱うクラス { private int bunshi; private int bunbo; public void setNum(){ // 分子=1,分母=10 setBunshi(1); setBunbo(10); } public void setNum( int s ){ // 分子=s,分母=10 setBunshi(s); setBunbo(10); } public void setNum( int s, int t ){ // 分子=s,分母=t setBunshi(s); setBunbo(t); } public void setBunshi( int x ){ bunshi = x; } public void setBunbo( int y ){ if( y==0 ){ System.out.println("【警告】分母は0を設定できません"); } bunbo = y; } public double getVal(){ // 分数を数値で返す return (double)bunshi/bunbo; } } class Ensyu0903 { public static void main(String[] args) { int a,b; Bunsuu v = new Bunsuu(); Scanner sc = new Scanner(System.in); System.out.print("分子-->"); a = sc.nextInt(); System.out.print("分母-->"); b = sc.nextInt(); v.setNum(); // 指定なし System.out.println(" (1) "+v.getVal()); v.setNum(a); // 分子のみ指定 System.out.println(" (2) "+v.getVal()); v.setNum(a,b); // 分子、分母を指定 System.out.println(" (3) "+v.getVal()); } } |
| <演習4>の解答例 |
| class Shinkansen // 新幹線を扱うクラス { private int ryou_num; // 車両数(8両 or 16両) private double time; // 東京〜新大阪 所要時間(h) public void setData( int x, double y ){ ryou_num = x; time = y; } public void showData(){ // データを表示する System.out.println(" 車両="+ryou_num+"両、所要時間="+time+"(h)"); } } class Ensyu0904 { public static void main(String[] args) { Shinkansen nozomi = new Shinkansen(); Shinkansen kodama = new Shinkansen(); nozomi.setData( 16, 2.5 ); kodama.setData( 8, 4.0 ); System.out.print("のぞみ:"); nozomi.showData(); System.out.print("こだま:"); kodama.showData(); } } |
| <演習5>の解答例 |
| class Numbers // 数値を扱うクラス { private int [] val; // 配列変数 private int num; // 要素の個数 // コンストラクタ public Numbers(){ num = 10; val = new int [num]; // 要素数numの領域を確保 for(int i=0;i<num;i++) val[i] = i+1; // 値を代入 } public void showData(){ // データを表示する for(int i=0;i<num;i++){ System.out.print(" " + val[i]); } System.out.println(""); } } class Ensyu0905 { public static void main(String[] args) { Numbers nm = new Numbers(); nm.showData(); } } |