break po pętli for

Wątek przeniesiony 2014-05-17 12:58 z Java przez bogdans.

  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,
piszę właśnie program, który ma znajdować słowa mające w sobie określoną literę. Napisałem go w ten sposób:

Kopiuj
for(int i=0; i<word.size(); i++){
            String unstable_word = word.get(i);            
            String letter;
            for(int j=0; j<word.get(i).length(); j++){
                letter = unstable_word.substring(j, j+1);
                System.out.println(letter);
                if(word.get(i).equals("y")){
                    System.out.println(word.get(i));
                }
            }
        }

Po czym, nie chcąc, żeby program wykonywał zbędną robotę dodałem break; po ifie. Tutaj program działał jakoś dziwnie, usunąłem wszystko i zostawiłem tylko coś takiego:

Kopiuj
for(int i=0; i<word.size(); i++){           
                if(word.get(i).equals("y"))break;{
                    System.out.println(word.get(i));
                }            
        }

No właśnie, w tym przypadku program zaczął działać tak jak chciałem, czyli wyszukuje tylko te słowa, które zawierają literę "y". Chciałbym się dowiedzieć czy tak powinienem to zostawić, bo działa? No i ogólnie jestem ciekawy jak to działa, bo nigdy nie spotkałem się wcześniej z takim rozwiązaniem problemu na szukanie słów z literą.

  • Rejestracja: dni
  • Ostatnio: dni
0

On ci będzie wypisywał wszystkie słowa, nie tylko te, które zawierają "y".

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Pętla wewnętrzna jest zbyteczna.

Kopiuj
if(word.contains("y"))
...
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
ten zapis jest jakiś dziki
KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 71
0

Proszę:

Kopiuj
import java.util.ArrayList;


/*public */class Test {
  public static ArrayList<String> find_words(String buffer, CharSequence character)
  {
    ArrayList<String> result = new ArrayList<String>();
    for (String string : buffer.split(" ")) {
      if (string.contains(character)) {
        result.add(string);
      }
    }
    return result;
  }

  public static void main(String[] args) {
    String string = "ten zapis jest jakis dziki";

    ArrayList<String> result = find_words(string, 'i');
    for (String word : result) {
      System.out.println(word);
    }
  }
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.