もくじ
演算とキャストの練習問題[解答および解説]
演算とキャスト(2-13まで)の問題記事の解答及び解説記事です。
プログラムの解答はあくまでも一例です。問題によっては違う記述方法もあります。
【Java】演算とキャスト 練習問題1 サンプルプログラム
以下のプログラム内にはコメントで指示がありますので、コメントの下にプログラミングを行ってください(実行結果も参考にプログラミングしてください)。workフォルダ内に「Exam06.java」で保存してください。
保存後、コンパイルおよび実行を行ってください。
プログラム 解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class Exam06{ public static void main(String[] args){ /* 以下の変数を作成してください 型:String 変数名:name 初期値:"パソコン" 型:int 変数名:pcPrice 初期値:123500 型:int 変数名:pcNumber 初期値:13 修飾子:final 型:double 変数名:TAX_RATE 初期値:1.08 */ String name = "パソコン"; int pcPrice = 123500; int pcNumber = 13; final double TAX_RATE = 1.08; //xxxxは適切な変数名に変更してください System.out.println(name + "を" + pcNumber + "台購入します。"); //xxxxは適切な変数名に変更してください System.out.println("合計は" + (pcPrice * pcNumber) + "円です。"); //税込み価格を表示する計算式をxxxxに記述してください //ただし、小数点は表示しないものとします System.out.println("税込み価格は" + (int)(pcPrice * pcNumber * TAX_RATE) + "円です。"); } } |
実行結果
c:\work>javac Exam06.java
c:\work>java Exam06
パソコンを13台購入します。
合計は1605500円です。
税込み価格は1733940円です。
Exam06.javaの解説
プログラム内のポイントを解説します。
22行目※1 | “税込み価格は” + (int)(pcPrice * pcNumber * TAX_RATE) + “円です。” |
---|---|
ポイント | 今回、キャストによる小数点切り捨ては、計算結果に対して行わなければならず、(int)(計算処理)のように記述する必要があります。 |
※1 該当行のSysout部分は省略しています。
【Java】演算とキャスト 練習問題2 サンプルプログラム
以下のプログラム内にはコメントで指示がありますので、コメントの下にプログラミングを行ってください(実行結果も参考にプログラミングしてください)。workフォルダ内に「Exam07.java」で保存してください。
保存後、コンパイルおよび実行を行ってください。
プログラム 解答例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class Exam07{ public static void main(String[] args){ /* 以下の変数を作成してください 型:char 変数名:hiragana 初期値:'あ' 型:int 変数名:code 初期値:hiraganaのデータをintへキャスト */ char hiragana = 'あ'; int code = (int)hiragana; //xxxxを適切な変数名に変更してください System.out.println("変数hiraganaには「" + hiragana + "」が保存されています。"); //xxxxを適切な変数名に変更してください System.out.println("「" + hiragana + "」の文字コードは" + code); //codeにインクリメントおよびキャストを行ってください。(実行結果参照) System.out.println("codeの文字コードをインクリメントすると「" + (char)++code + "」となります。"); } } |
実行結果
c:\work>javac Exam07.java
c:\work>java Exam07
変数hiraganaには「あ」が保存されています。
「あ」の文字コードは12354
codeの文字コードをインクリメントすると「ぃ」となります。
Exam07.javaの解説
プログラム内のポイントを解説します。
10行目 | int code = (int)hiragana; |
---|---|
ポイント | char型内部は文字を数値で管理しているため、int型にキャストすることができます。 |
19行目※2 | “codeの文字コードをインクリメントすると「” + (char)++code + “」となります。” |
---|---|
ポイント | codeをインクリメントしますが、++は前置を利用します。後置だと1加算されるのが出力後になってしまうためです。また、キャストも同時に行っています。 |
※2 該当行のSysout部分は省略しています。