Java練習問題「基礎編」

Javaを勉強するために、練習問題を解き始めました。
間違っていたらすみません。

## 基礎編

package com.company;
import java.util.Scanner;

public class HundredKnocksBasic {
    public static void main(String arg[]) {
//        question0();
//        question1();
//        question2();
//        question3();
//        question4();
//        question5();
//        question6();
//        question7();
//        question8();
//        question9();
//        question10();
//        question11();
//        question12();
//        question13();
//        question14();
//        question15();
//        question16();
//        question17();
//        question18();
//        question19();
    }
    
####実行するとHello World!と表示するメソッドを作成せよ。
```java

    private static void question0() {
        System.out.println("問0");
        System.out.println("Hello World!");
    }
```

####12345+23456を計算して結果を表示するプログラムを作成せよ。

```java

    private static void question1() {
        System.out.println("問1");
        int a = 12345;
        int b = 23456;
        System.out.println(a + b);
    }

```

####12345を7で割った余りを表示するプログラムを作成せよ

```java

    private static void question2() {
        System.out.println("問2");
        int a = 12345;
        int b = 7;
        System.out.println(a % b);
    }
```
####整数値を入力させ、その入力値を表示するプログラムを作成せよ。
```java

    private static void question3() {
        System.out.println("問3");
        Scanner scanner = new Scanner(System.in);   //Scannerクラスを初期化 Scannerクラスのインスタンス化
        //InputStream のオブジェクトで、標準入力(通常はキーボードからの入力)
        System.out.println("数字を入力してください");
        int num = scanner.nextInt();  //入力を受け取る部分
        scanner.close();
        System.out.println(num);
    }
```

####整数値を入力させ、その入力値を3倍した計算結果を表示するプログラムを作成せよ。

```java

    private static void question4() {
        System.out.println("問4");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください");
        int num = scanner.nextInt(); //入力を受け取る部分
        scanner.close();
        System.out.println(num * 3);
    }

 ```   

####整数値を2つ入力させ、それらの値の和、差、積、商と余りを求めるプログラムを作成せよ。なお、差と商は1つ目の値から2つ目の値を引いた、あるいは割った結果とする。余りは無い場合も0と表示するのでよい
  
```java

    private static void question5() {
        System.out.println("問5");
        Scanner scanner = new Scanner(System.in);
        System.out.println("1つ目の数字を入力してください");
        int num1 = scanner.nextInt();  //1つめ入力を受け取る部分
        System.out.println("2つ目の数字を入力してください");
        int num2 = scanner.nextInt();  //2つめ入力を受け取る部分
        scanner.close();
        System.out.println(num1 + num2);
        System.out.println(num1 - num2);
        System.out.println(num1 * num2);
        System.out.println(num1 % num2);
    }
```
####整数値を入力させ、値が0ならzeroと表示するプログラムを作成せよ
```java

    private static void question6() {
        System.out.println("問6");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください(0)");
        int num = scanner.nextInt(); //入力を受け取る部分
        scanner.close();
        if (num == 0) { //もし入力された値が0なら
            System.out.println("zero");
        }
    }
```
####整数値を入力させ、値が0ならzero、0でなければnot zeroと表示するプログラムを作成せよ。

```java

    private static void question7() {
        System.out.println("問7");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください(0以外）");
        int num = scanner.nextInt();
        scanner.close();
        if (num == 0) { //もし入力された値が0なら
            System.out.println("zero");
        } else {
            System.out.println("not zero");
        }
    }
```

####整数値を入力させ、値が正であればpositiveと表示するプログラムを作成せよ。ただし0は正には含まない。

```java

    private static void question8() {
        System.out.println("問8");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください(正）");
        int num = scanner.nextInt();
        scanner.close();
        if (num > 0) { //値が正ならば
            System.out.println("positive");
        }
    }
```

####整数値を入力させ、値が正であればpositive、負であればnegative、0であればzeroと表示するプログラムを作成せよ。

```java

    private static void question9() {//else ifで書く
        System.out.println("問9");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください");
        int num = scanner.nextInt();
        scanner.close();
        if (num > 0) { //値が正ならば
            System.out.println("positive");
        } else if (num < 0) {   //値が負ならば
            System.out.println("negative");
        } else {  //もし入力された値が0なら
            System.out.println("zero");
        }
    }
```

####整数値を入力させ、その値を絶対値にして表示するプログラムを作成せよ。（できれば変数の値を絶対値に変えるようにせよ

```java

    private static void question10() {
        System.out.println("問10");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください(絶対値）");
        int num = scanner.nextInt();
        scanner.close();
       ###絶対値を取得するには、Mathクラスのabsメソッドを使います。absメソッドはstaticメソッドなのでそのまま呼び出せます。
        num = Math.abs(num);
        System.out.println(num);
    }
```

####Hello World!を10回繰り返して表示するプログラムを作成せよ。
```java

    private static void question11() {
        System.out.println("問11");
        //for (初期化式; 条件式; 更新式) {
        for (int i = 0; i < 10; i++) {
            System.out.println("Hello World!");
        }
    }
```

####整数値を入力させ、その値の回数だけHello World!を繰り返して表示するプログラムを作成せよ。
```java

    private static void question12() {
        System.out.println("問12");
        Scanner scanner = new Scanner(System.in);
        System.out.println("繰り返す回数を入力してください");
        int num = scanner.nextInt();
        scanner.close();
        //入力された回数だけ繰り返す
        for (int i = 0; i < num; i++) {
            System.out.println("Hello World!");
        }
    }
```
####整数値を入力させ、0から入力値まで数を1ずつ増やして表示するプログラムを作成せよ。
```java

    private static void question13() {
        System.out.println("問13");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください");
        int num = scanner.nextInt();
        scanner.close();
        //入力された数字まで実行する
        for (int i = 0; i < num; i++) {
            System.out.println(i);
        }
    }
```
####整数値を入力させ、入力値から0まで数を1ずつ減らして表示するプログラムを作成せよ。
```java

    private static void question14() {
        System.out.println("問14");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください");
        int num = scanner.nextInt();
        scanner.close();
        //入力された数字から1ずつ減らす
        for (int i = 0; i < num; num--) {
            System.out.println(num);
        }
    }
```
####整数値を入力させ、0から入力値を超えない値まで2ずつ増やして表示するプログラムを作成せよ。
```java

    private static void question15() {
        System.out.println("問15");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください");
        int num = scanner.nextInt();
        scanner.close();
        //入力された数字まで2つ増やす
        for (int i = 0; i < num; i += 2) {
            System.out.println(i);
        }
    }
```
####整数値を入力させ、入力値が0でなければ再度入力させ、0であれば終了するプログラムを作成せよ。
```java

    private static void question16() {//while文
        System.out.println("問16");
        Scanner scanner = new Scanner(System.in);
        System.out.println("数字を入力してください");
        int num = scanner.nextInt();
        scanner.close();
        while (num != 0) {
            System.out.println("もう一度数字を入力してください");
            num = scanner.nextInt();
            //入力値が0だったら止める
        }
        scanner.close();
        System.out.println("終了します");
    }
```
####要素数10の整数型の配列を宣言し、i番目の要素の初期値をiとし、順に値を表示するプログラムを作成せよ。
```java

    private static void question17() {
        System.out.println("問17");
        /*
        配列の宣言と要素数の指定　
        型名 配列変数名[] = new 型名[要素数];
         */
        int bar[] = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //要素数10の配列を宣言
        /*
        型名 変数名 = 初期値;
        i番目の要素の初期値をi
         */
        for (int i = 0; i < bar.length; i++) {
            //配列の要素数を取得するには、lengthを使用 bar[i]のiのことを、インデックス
            System.out.println(bar[i]);
        }
    }
```
####要素数10の整数型の配列を宣言し、整数値を入力させ、すべての配列の要素を入力値として、すべての要素の値を表示するプログラムを作成せよ。
```java

    private static void question18() {
        System.out.println("問18");
        Scanner scanner = new Scanner(System.in);
        //要素数10の配列をローカル変数のa宣言
        int[] a = new int[10];
        System.out.println("数字を入力してください");
        //ローカル変数bに値を入力させる
        int b = scanner.nextInt();
        //左辺に代入される配列の要素を記述し、右辺に代入する値を記述
        //配列変数名[配列番号] := 代入する値
        //aにbで取得した値を代入する
        //配列の長さ
        //配列の長さぶん繰り返し
        for (int i = 0; i < a.length; i++) {
            a[i] = b;
            //配列aを表示する
            System.out.println(a[i]);
        }
    }

```
####要素数5の整数型の配列を宣言し、すべての配列に対して順に入力された整数値を代入し、すべての要素の値を表示するプログラムを作成せよ。
```java

    private static void question19() {
        System.out.println("問19");
        Scanner sc = new Scanner(System.in);
        //要素数10の配列を宣言
        int bar[] = new int[10];
        bar[0] = sc.nextInt();
        bar[1] = sc.nextInt();
        bar[2] = sc.nextInt();
        bar[3] = sc.nextInt();
        bar[4] = sc.nextInt();
        bar[5] = sc.nextInt();
        bar[6] = sc.nextInt();
        bar[7] = sc.nextInt();
        bar[8] = sc.nextInt();
        bar[9] = sc.nextInt();
        //要素の数を取得する
        for (int i = 0; i < bar.length; i++) {
            System.out.println("配列" + i + "番目の値" + bar[i]);
        }
    }
}