BDKK SI Engineer

アルゴリズムの勉強の件#1



アルゴリズムの勉強の件#1

「問題」

文字列の長さが4または6で、数字だけで構成されているかを確認してくれる関数、ソリューションを完成してください。例えば、sがa234なら、falseをリターンし、1234ならtrueをリターンします。

  • 複雑かもしれませんが私が考えたソース
import java.util.Scanner;

public class test01 {
	
	public static boolean wordCheck (char word) {
		if(word >= 48 && word <= 57 ) { //char 数字範囲内にあるかチェックする
			return true;
		}
		return false;
	}
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		boolean check = false;
		
		System.out.print("文字列 sに入れる4または6の数字を入力してください。>");
		
		//checkの最小値は falseで指定, 下にある条件を満足できないとそのままで false出力
		String s = sc.nextLine();

		if(s.length() == 4 || s.length() == 6 ) {
		//まず、文字列の長さが4または6かチェック
			for(int i = 0 ; i < s.length() ; i++ ) {
				if(!(check = wordCheck(s.charAt(i)))){
				//文字列を構成している文字の値が数字で構成しているかチェック
				//checkに入れる値は最終の数字まで、チェックして、数字なら、trueの値が入れます。
				//もし、falseの値がいれられた瞬間にはbreakで、for文とif文を全部出ます。
					break;
				}
			}
		}
		System.out.println("入力したs文字列の値: " + s);
		System.out.println(check);
	}
}

私だけの考えで構成したソースです。 他の方式をクグルリンを通じて探すつもりです。


Comments

Content