(実習内容)
(本日の課題)
演習B4_2のプログラムを作成し、提出しなさい。 (発展課題) 買い物をしたときの合計金額が、17867円だった とします。支払いに使う紙幣と硬貨の枚数が最小 になるように支払うものとします。 紙幣と硬貨の枚数を求めるプログラムを作成しなさい。 (実行例) 10000円 1枚 5000円 1枚 1000円 2枚 500円 1枚 100円 3枚 50円 1枚 10円 1枚 5円 1枚 1円 2枚
アンケート調査
(中間試験の模範解答 問題2(2)を除く)
問題1 public class Mid_Q1{ public static void main( String args[] ){ // ----- キーボードからサイコロを振る回数を入力する ----- System.out.print( "サイコロを振る回数を入力してください(1〜10) " ); int n = KeyboardScan.readLine().intValue(); // ----- Dieクラスを使って2つのサイコロを生成する ----- Die die1 = new Die(); Die die2 = new Die(); int sum = 0; for( int i = 0; i < n; i++ ){ // ----- 2つのサイコロを振り、同じ目が出たときに"*"を表示する ----- die1.cast(); die2.cast(); System.out.print( ( i + 1 ) + "回 " ); System.out.print( die1.getValue() + " " + die2.getValue() ); if( die1.getValue() == die2.getValue() ){ System.out.println( " *" ); sum = sum + 1; // sum++; でも可 } else{ System.out.println(); } } // ----- 同じ目が出回数を表示する ----- System.out.println( "同じ目が出た回数 " + sum + "回" ); } }
問題2(1) import java.util.*; public class Roulette{ // ----- インスタンス変数 ----- private Random random; // 乱数 private int value; // ルーレットの数字(-1〜36の値) private int color; // ルーレットの色(0:赤 1:黒) // ----- コンストラクタ ----- public Roulette(){ this.random = new Random(); // Randomオブジェクトの生成 } // ----- ボールの投入 ----- public void inputBall(){ this.value = this.random.nextInt( 38 ) - 1; // -1〜36の値を生成 if( ( this.value % 2 ) == 0){ this.color = 0; // 赤色の設定 } else{ this.color = 1; // 黒色の設定 } // ----- if文は絶対値を使うと以下のように書ける ----- // this.color = Math.abs( this.value ) % 2; } // ----- ルーレットの数字の取得 ----- public int getValue(){ return( this.value ); } // ----- ルーレットの色の取得 ----- public int getColor(){ return( this.color ); } }