Java字符串參數應用&計詞數避免超出數組範圍“以計字符串詞數實驗爲例”

Q17. Write a method named wordCount that accepts a String as
its parameter and returns the number of words in that string. Words
are separated by spaces.
wordCount(“the quick brown fox”) returns 4

Q17. 本實驗要求以字符串爲參數輸出詞數。詞之間以空格隔開。並進一步討論避開超出數組範圍對計詞數的影響。

import java.util.*;
import java.util.Scanner;
public class Q17 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*Scanner console =new Scanner (System.in);
		String sentence = console.nextLine();*/
		//輸入字符串 此處以"     a    quick   brown    fox  "爲樣本
		String sentence = "     a    quick   brown    fox  ";
		int result = wordCount(sentence);
		System.out.println(result);
		}
	public static int wordCount(String sentence) {
	char [] sentenceChar = sentence.toCharArray();
	//System.out.println(Arrays.toString(sentenceChar));
	int count= 0;
	char [] sentenceCharplus = new char[sentenceChar.length+1];
	sentenceCharplus[sentenceChar.length]=' ';
	//生成一個比原字符串多一位' '的char數組 ,避免i+1超出數組範圍
	for (int a =0;a<sentenceChar.length;a++) {
		sentenceCharplus[a]=sentenceChar[a];
	}
	//System.out.println(Arrays.toString(sentenceCharplus));
	//System.out.println(sentenceChar.length+1);
	for (int i=0;i<sentenceCharplus.length-1;i++) {
	//i的範圍取length-1以避免超出範圍
		if (sentenceCharplus[i]==' '&&sentenceCharplus[i+1]!=' ') {
		//當空格與字符相間時,count加一
			count++;
		}
		
	}
	return count;
	}
	

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章