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

break po pętli for

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:

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:

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ą.

0

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

0

Pętla wewnętrzna jest zbyteczna.

if(word.contains("y"))
...
0
ten zapis jest jakiś dziki
0

Proszę:

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1