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!と表示するメソッドを作成せよ。
private static void question0() {
System.out.println("問0");
System.out.println("Hello World!");
}
12345+23456を計算して結果を表示するプログラムを作成せよ。
private static void question1() {
System.out.println("問1");
int a = 12345;
int b = 23456;
System.out.println(a + b);
}
12345を7で割った余りを表示するプログラムを作成せよ
private static void question2() {
System.out.println("問2");
int a = 12345;
int b = 7;
System.out.println(a % b);
}
整数値を入力させ、その入力値を表示するプログラムを作成せよ。
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倍した計算結果を表示するプログラムを作成せよ。
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と表示するのでよい
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と表示するプログラムを作成せよ
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と表示するプログラムを作成せよ。
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は正には含まない。
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と表示するプログラムを作成せよ。
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");
}
}
整数値を入力させ、その値を絶対値にして表示するプログラムを作成せよ。(できれば変数の値を絶対値に変えるようにせよ
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回繰り返して表示するプログラムを作成せよ。
private static void question11() {
System.out.println("問11");
//for (初期化式; 条件式; 更新式) {
for (int i = 0; i < 10; i++) {
System.out.println("Hello World!");
}
}
整数値を入力させ、その値の回数だけHello World!を繰り返して表示するプログラムを作成せよ。
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ずつ増やして表示するプログラムを作成せよ。
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ずつ減らして表示するプログラムを作成せよ。
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ずつ増やして表示するプログラムを作成せよ。
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であれば終了するプログラムを作成せよ。
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とし、順に値を表示するプログラムを作成せよ。
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の整数型の配列を宣言し、整数値を入力させ、すべての配列の要素を入力値として、すべての要素の値を表示するプログラムを作成せよ。
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の整数型の配列を宣言し、すべての配列に対して順に入力された整数値を代入し、すべての要素の値を表示するプログラムを作成せよ。
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]);
}
}
}