Java入門(第2回)

前回振り返り

環境構築

ソフトウェアインストール

以下のソフトウェアをインストールします。

サイトからファイルをダウンロード後、exeを実行すると自己解凍を求められるので、任意のフォルダーを指定します。
上記例の解答先 C:\pleiades\2022-12\eclipse の eclipse.exe を実行します。デスクトップへのショートカットも作成しておくと良いでしょう。
ワークスペース作成先を指定します。
Eclipseが立ち上がりました。

開発手順

Javaプロジェクト作成

Eclipse上でJavaプロジェクトを作成します。

左側にあるパッケージエクスプローラーより、Javaプロジェクトの作成を指定します。
プロジェクト名をすべて小文字の sample と入力し、完了ボタンを押下します。
プロジェクトが作成されました。
次にクラスを作成します。ファイル>新規>クラスを選択し、名前に Sample1 を指定、メソッド・スタブの public static void main… の箇所にチェックを入れ完了を押します。
クラスが作成できました。

前回演習問題の解答例

問題1

プログラムを実行し、コンソールに自分の名前(もしくはニックネーム)を出力してください。

public class Sample1 {

	public static void main(String[] args) {
		System.out.println("NewValley Consulting");
	}

}
問題2

プログラムに自分の名前を入力すると、「こんにちは!{入力した名前}さん」という文字を出力してください。

import java.util.Scanner;

public class Sample2 {

	public static void main(String[] args) {
		try (Scanner sc = new Scanner(System.in)) {
			String name = sc.next();
			System.out.println("こんにちは!"+name+"さん");
		}
	}

}
問題3

プログラムへ整数Nを入力した際、3の倍数であればFizzを、5の倍数であればBuzzを、3と5の倍数である場合はFizzBuzzを出力し、その他の数である場合は入力された値をそのまま出力してください。

import java.util.Scanner;

public class Sample3 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		System.out.println(getFizzBuzz(num));
		sc.close();
	}

	static String getFizzBuzz(int n) {
		if (n % 3 == 0 && n % 5 == 0)
            		return "FizzBuzz";
        	if (n % 3 == 0)
        		return "Fizz";
        	if (n % 5 == 0)
        		return "Buzz";
    		return Integer.valueOf(n).toString();
	}

}
問題4

問題文

日本の誇る美しいリズムとして、五七五というものがあります。いろはちゃんは五七五が大好きです。

並び替えたい 3 つの文節の長さを表す整数 A,B,C が与えられるので、それらの文節を並び替えて五七五にできるか判定してください。

制約

1≦A,B,C≦10

入力

入力は以下の形式で標準入力から与えられる。

A B C

出力

文節の並びを五七五にすることができるなら YES 、そうでないなら NO を出力せよ。

入力例 1

5 5 7

出力例 1

YES

→与えられる文節の長さはそれぞれ 5,5,7 であり、5,7,5 となるように文節を並び替えることができます。したがって、文節の並びを五七五にすることは可能といえます。

入力例 2

7 7 5

出力例 2

NO
import java.util.Scanner;

public class Sample4 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String[] input = ((String)sc.nextLine()).split(" ");
		
        int five = 0;
        int seven = 0;
        for (String str: input)
        {
            if (str.equals("5")) five++;
            if (str.equals("7")) seven++;
        }
        String result = five == 2 && seven == 1 ? "YES" : "NO";
		System.out.println(result);
		sc.close();
	}

}

今回の演習問題

問題1

前回演習問題の問題3[FizzBuzz]の入力値が文字列Sであった場合もエラーとせず、入力された文字をそのまま返すように修正してください。

問題2

問題文

w を、英小文字のみからなる文字列とします。 w が以下の条件を満たすならば、w を美しい文字列と呼ぶことにします。

  • どの英小文字も、w の中に偶数回出現する。

文字列 w が与えられます。w が美しい文字列かどうか判定してください。

制約

  • 1≤∣w∣≤100
  • w は英小文字 (az) のみからなる文字列である

入力

入力は以下の形式で標準入力から与えられる。

w

出力

w が美しい文字列ならば Yes を、それ以外の場合は No を出力せよ。


入力例 1

abaccaba

出力例 1

Yes

a が 4 回、b が 2 回、c が 2 回、それ以外の英小文字が 0 回出現します。


入力例 2

hthth

出力例 2

No

コメント