以下のプログラムを作成しなさい。
コンピュータはもともと数値計算を楽にするために開発されました。
そういう意味で計算は最もコンピュータが得意なことです。
ここではいろいろな計算をさせてみましょう。
1.整数の加算
256+16を計算したい。
次のような処理で実現しなさい。
(0)Q01.javaというファイルを作成する。
(1)int型の変数num1を宣言し、変数num1に値256を代入する。
(2)int型の変数num2を宣言し、変数num2に値16を代入する。
(3)int型の変数ansを宣言し、変数ansに変数num1の値と変数num2の値を足した結果を代入する。
(4)変数ansの値を出力する。
(出力例)
272 |
2.整数の減算
128-32を計算したい。
①上記1.のプログラムを下にコピーしなさい。
②上記1.のプログラムはコメントアウトしなさい。
③コピーを書き換えて以下のプログラムを作成しなさい。(以降10まで同じ)
(出力例)
96 |
3.整数の乗算
512×8を計算したい。
上記のプログラムを書き換えることで実現しなさい。
(出力例)
4096 |
4.整数の除算
1024÷64を計算したい。
上記のプログラムを書き換えることで実現しなさい。
(出力例)
16 |
5.整数の剰余算
2048÷3の余りを計算したい。
上記のプログラムを書き換えることで実現しなさい。
(出力例)
2 |
6.実数(浮動小数点数)の加算
0.125+0.5を計算したい。
次のような処理で実現しなさい。
(1)double型の変数num1を宣言し、変数num1に値0.125を代入する。
(2)double型の変数num2を宣言し、変数num2に値0.5を代入する。
(3)double型の変数ansを宣言し、変数ansに変数num1の値と変数num2の値を足した結果を代入する。
(4)変数ansの値を出力する。
(出力例)
0.625 |
7.式が型を持つということ
10÷3を計算したい。
次のような処理で実現しなさい。
(1)int型の変数num1を宣言し、変数num1に値10を代入する。
(2)int型の変数num2を宣言し、変数num2に値3を代入する。
(3)double型の変数ansを宣言し、変数ansに変数num1の値を変数num2の値で割った結果を代入する。
(4)変数ansの値を出力する。
また、この結果を考察せよ。
8.キャスト
10÷3の計算で小数点以下の結果も得たい。
上記プログラムにキャストを使い実現しなさい。
(出力例)
3.3333333333333335 |
9.複合代入演算子①
256+128+64の計算をしたい
次のような処理で実現しなさい。
ただし、複合代入演算子を使うこと。
(1)int型の変数num1を宣言し適切に初期化する。
(2)変数num1に値256を加える。
(3)変数num1に値128を加える。
(4)変数num1に値64を加える。
(5)変数num1の値を出力する。
(出力例)
448 |
10.複合代入演算子②
256 × 128 × 64の計算をしたい
次のような処理で実現しなさい。
ただし、複合代入演算子を使うこと。
(1)int型の変数num1を宣言し適切に初期化する。
(2)変数num1に値256を掛け算する。
(3)変数num1に値128を掛け算する。
(4)変数num1に値64を掛け算する。
(5)変数num1の値を出力する。
(出力例)
2097152 |
11.出力の予想①
以下のソースコードの断片(以下スニペットという)をメインメソッドにコピーして実行したら何が出力されるか?また、それはなぜか説明しなさい。
int a = 010;
System.out.println(a);
12.出力の予想②
以下のスニペットを実行したら何が出力されるか?また、それはなぜか説明しなさい。
int num1 = 10, num2 = 0, sum = 0;
sum += num1-- * --num2;
System.out.println(sum);
13.出力の予想③
以下のスニペットを実行したら何が出力されるか?また、それはなぜか説明しなさい。
int i;
i = 60.4 + 20 / 2;
System.out.println(i);
上記プログラムで小数点以下を切り捨てて表示する(70を表示する)ためにはどうすれば良いか?
14.秒数を時間と分と秒に分けて表示する
秒数を時間と分と秒に分けて表示するプログラムを完成させなさい。
また、以下のTimeConv.javaでは変数名にスネークケースを使ってしまっているため、IDEのショートカットキーを使い一度にキャメルケースに直しなさい。
<出力例>
86900秒は24時間8分20秒 |
package p03;
//この問題集ではわかりやすさを優先してクラス名に問題番号を使用していますが、本来は以下のように意味のあるクラス名をつけるべきです。
public class TimeConv {
public static void main(String[] args) {
int origin_sec = 86900, min, hour, sec;
// ここにコードを書く
System.out.println(origin_sec + "秒は" + hour + "時間" + min + "分" + sec + "秒");
}
}
15.誕生日当て計算
あなたは、友人から以下のような誕生日を当てる計算式の話を聞きました。
Javaで実装しなさい。
①生まれた月を4倍し、それに9を足し、それ全部を25倍し、それに生まれた日を足した数を計算します。
②上記①の結果から225を引きます。
②の結果があなたの誕生日です。
<出力例>
1109 |
package p03;
public class BirthdayQuiz {
public static void main(String[] args) {
int month = 11;
int day = 9;
// ここにコードを書く
}
}
16.オリジナル問題作成
将来の後輩のために良い問題が出来たら教えてください。
以上。