せめて夢の中ででも
さて、勉強します。
今日は練習問題みたいなの解いてきます。
1.次のプログラムコードを作成して「5×3.14」を計算しようとしましたが、誤りがあるようです。どのように修正すべきでしょうか?
public class Practice2_1 {
public static void main(string[] args) {
x = 5 * 0.5;
System.out.println("計算結果は " + x);
}
}
これはxをちゃんと変数として型を宣言せずに代入しているのか。あと、×3.14を計算したいとはまるで思えない誤りをしている。
そしたら、少数なのでxの前にdoubleをつけて、0.5を3.14にしてあげればいいのでは?
public class Practice2_1 {
public static void main(String[] args) {
double x = 5 * 3.14;
System.out.println("計算結果は" + x);
}
}
2.次のプログラムコードを実行した結果を示してください。
public class Practice2_2 {
public static void main(String[] args) {
int i = 2;
int j = 5;
j *= i;
int k = j;
k /= 2;
System.out.println(k);
}
}
整数型の変数iとjにそれぞれ2と5を代入して、次の行でjにj * iを代入している。つまり、今のところi = 2、j = 10ですね。
そんで、k に j を代入して、そのあとkを2で割った値をkに代入している。
つまり、今のところk = 5ですね。
最終的にSystem.out.println(k);なので実行結果は「5」でしょ。
3.次の命令文を、加算代入(+=)、減算代入(-=)、乗算代入(*=)、除算代入(/=)、剰余代入(%=)、インクリメント(++)、デクリメント(--)の演算子を使って、短い表現に書き換えてください。
(1)a = a + 5 → a += 5
(2)b = b - 6 → b-= 6
(3)c = c * a → c *= a
(4)d = d / 3 → d /= 3
(5)e = e % 2 → e %= 2
(6)f = f + 1 → f ++
(7)g = g - 1 → g --
4.次のように記述して「7÷2」の計算をしたところ、計算結果が3.0と出力されました。
public class Practice2_4 {
public static void main(String[] args) {
int a = 7;
int b = 2;
double d = a / b;
System.out.println(d);
}
}
正しく3.5とコンソールに出力されるようにするには、どのように修正すればよいでしょうか。
→int型の変数で割り算した結果をdouble型に代入しても小数点切り捨てられちゃうので、それぞれキャストしてあげなきゃいけない。
なので、double d = (double)a / (double)b;にすればいけるでしょう。
さて、解答見よっと。
1.解答「2行目と3行目の間に『double x;』という記述を追加する。」
・・・いやいや、3.14は!?
ま、正解は正解だからいっか。
2.解答「5」
正解です。
3.解答書くのめんどくさいけど正解だった。
4.解答「double d =(double)a/(double)b 」
正解でした。