我创建了以下java程序,其中采用了String形式的Statement。该语句的所有单词都分别存储在数组中。
示例 - String statement =" hello world我爱狗&#34 ;; 存储在数组中 - {hello,world,i,love,dogs}
我编写了以下代码,但是我无法检查它,因为当我在main方法中调用方法时,它不能按要求工作。
如何获得输出?
public class Apcsa2 {
/**
* @param args the command line arguments
*/
public String sentence;
public List<Integer> getBlankPositions(){
List<Integer> arr = new ArrayList<Integer>();
for (int i = 0; i<sentence.length();i++){
if(sentence.substring(i, i +1).equals(" ")){
arr.add(i);
}
}
return arr;
}
public int countWords(){
return getBlankPositions().size() + 1;
}
public String[] getWord(){
int numWords = countWords();
List<Integer> arrOfBlanks = getBlankPositions();
String[] arr = new String[numWords];
for (int i = 0; i<numWords; i++){
if (i ==0){
sentence.substring(i, arrOfBlanks.get(i));
arr[i] = sentence;
}else{
sentence.substring(i + arrOfBlanks.get(i), arrOfBlanks.get(i+1));
arr[i] = sentence;
}
}
return arr;
}
public static void main(String[] args) {
// TODO code application logic here
int[] arr = {3,4,5,2,4};
String sentence = "hello world I love dogs";
}
}
答案 0 :(得分:0)
如果我理解你的目标,我想你想要计算单词的数量,并且还想打印/检索它。如果是这种情况那么你就没那么复杂了。使用以下程序。
public class Apcsa2 {
public static void main(String[] args) {
String input="hello world I love dogs";
String[] arryWords=input.split("\\s+");
//Count-Number of words
System.out.println("Count:"+arryWords.length);
//Display each word separately
for(String word:arryWords){
System.out.println(word);
}
}
}