せめて夢の中ででも

さて、勉強します。
今日は練習問題みたいなの解いてきます。

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 」
正解でした。

いいなと思ったら応援しよう!