2016-11-29 3 views
1

Вот основные:Находить/Печать из конкретных слов, которые начинаются с определенной буквы

public class MiscStringOperationsDriver 
{ 
    public static void main(String[] args) 
    { 
      // Test the wordCount method 
      int numWords = MiscStringOperations.wordCount("There are five words here."); 
      System.out.printf("Number of words: %d\n\n", numWords); 

      // Test the arrayToString method 
      char[] letters = {'a', 'b', 'c', 'd', 'e', 'f', 'g'}; 
      String lettersToString = MiscStringOperations.arrayToString(letters); 
      System.out.printf("The string is: %s\n\n", lettersToString); 

      // Test the mostFrequent method 
      char mostFrequentChar = MiscStringOperations.mostFrequent("aababbcddaa"); 
      System.out.printf("The most-frequent character is: %c\n\n", mostFrequentChar); 

      // Test the beginWithB method 
      String wordList = MiscStringOperations.beginWithB(
          "Batman enjoyed some blueberries and a bacon burger in the Batmobile."); 
      System.out.printf("The list of words is: %s\n\n", wordList); 
    } 
} 

Все методы в другом классе. Я борюсь с последним методом, который является методом beginWithB. У меня все работает. Вот то, что я до сих пор для этого метода:

public static String beginWithB(String wordlist) { 
    String myStr = wordlist; 
    for(String b: myStr.split(" ")){ 
     if(b.startsWith("b")||b.startsWith("B")){ 
      System.out.print(b); 
     } 
    } 

Я изо всех сил, чтобы найти способ, чтобы вернуть слова, которые начинаются с «Ъ» или «B» на основной. Есть идеи? (И да, я должен сделать это таким образом).

+1

Вы просто печатая значение 'b'. Вам нужно добавить их в список и вернуть список строк, начинающихся с b. 'wordList' должен быть фактически' List', а не 'String' – TheLostMind

+1

. Какую форму вы возвращаете' beginWithB() '? это ваш полный метод? как вам нужен список строк, вам не нужно использовать 'string []' из этого метода? –

ответ

1

Ваш метод выглядит хорошо для меня, вам просто нужно создать строку, когда вы возвращаете строку. (См код сильфон)

КОД

public static String beginWithB(String wordlist) { 
    StringBuilder sb = new StringBuilder(); 
    String myStr = wordlist; 
    for (String b : myStr.split(" ")) { 
     if (b.startsWith("b") || b.startsWith("B")) { 
      sb.append(b + " "); 
     } 
    } 
    return sb.toString(); 
} 

ВЫВОД

The list of words is: Batman blueberries bacon burger Batmobile. 
+0

Большое спасибо! Не знал, что мне пришлось добавить часть toString(). –

Смежные вопросы