如何调用主驱动程序中无效的方法?

时间:2017-04-25 13:25:37

标签: java netbeans

我创建了以下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";
}

}

1 个答案:

答案 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);
        }

    }
}