1. 程式人生 > >21天刷題計劃之5.2—牛牛的遊戲(Java語言描述)

21天刷題計劃之5.2—牛牛的遊戲(Java語言描述)

題目描述:

牛牛很喜歡玩接龍遊戲,一天他突發奇想,發明了一種叫做“字串鏈”的遊戲。 這個遊戲的規則是這樣的,給出3個字串A,B,C,如果它們滿足以下兩個條件,那麼就可以構成一個“字串鏈”: 1.A的最後一個字母和B的第一個字母相同; 2.B的最後一個字母和C的第一個字母相同。 現在牛牛給出了3個字串A,B,C,希望你能判斷這3個字串能否構成一個“字串鏈”,若能則輸出“YES”,否則輸出“NO”。

輸入描述:

一行,3個字串,每兩個字串之間用一個空格分隔。 1.A,B,C均由小寫的英文字母組成; 2.1≤|A|,|B|,|C|≤10,|A|,|B|,|C|分別表示A,B和C的長度。

輸出描述:

“YES"或者"NO”(不帶引號)

示例1 輸入

b bb b

輸出

YES

示例2 輸入

a b c

輸出

NO

分析:

其實只要判斷第一個字串的最後一個字元是否等於第二個字串的第一個字元,第二個字串的最後一個字元是否等於第三個字串第一個字元即可。其中判斷大小寫以及字元長度的判別是很簡單的這裡就不在贅述了。

import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws Exception {
		Scanner scan = new Scanner(System.in);
		while(scan.hasNext()){
			String str1 = scan.next();
			String str2 = scan.next();
			String str3 = scan.next();
			System.out.println(isStringLink(str1,str2,str3));
		}
		scan.close();
	}

	public static String isStringLink(String str1, String str2, String str3) throws Exception {
		//將字串轉換成字元陣列。
		char[] ch1 = str1.toCharArray();
		char[] ch2 = str2.toCharArray();
		char[] ch3 = str3.toCharArray();
		//判斷是否為大小寫。
		for(int i = 0; i<ch1.length;i++){
			if(ch1[i]>'z'||ch1[i]<'a'){
				throw new RuntimeException("輸入有誤!!!");
			}
		}
		
		for(int i = 0; i<ch2.length;i++){
			if(ch2[i]>'z'||ch2[i]<'a'){
				throw new Exception("輸入有誤!!!");
			}
		}
		
		for(int i = 0; i<ch3.length;i++){
			if(ch3[i]>'z'||ch3[i]<'a'){
				throw new Exception("輸入有誤!!!");
			}
		}
		//判斷是否是字串鏈。
		if(ch1[ch1.length-1]==ch2[0] && ch2[ch2.length-1] == ch3[0])
			return "YES";
		else
			return "NO";
	}

}

歡迎大家批評指正。