Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Сортировка списка слов / 5 сообщений из 5, страница 1 из 1
04.09.2012, 12:09:11
    #37942582
Vilislacis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка списка слов
Нужно отсортировать список слов и удалить слова,содержащие буквы "Ж", "Э", "Х", "ё". Попробовала вот так, сортирует не все.


public class pass2{
public static void main(String [] args) throws IOException {
List<String> strings = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("pass.txt"), "CP1251"));
String line;
while ((line = reader.readLine()) != null) {
strings.add(line);
} ;
for (int i = 0; i < strings.size(); i++)
{ String str = strings.get(i);
for (int j=0;j<str.length();j++){
char x= str.charAt(j);
switch(x) {
case 'Ж':
case 'Э':
case 'Х':
case 'х':
case 'ё':strings.remove(i); break;
};
} ;
for (int k=0;k<strings.size();k++) {
System.out.println(strings.get(k));}
} }

Что нужно исправить?
...
Рейтинг: 0 / 0
04.09.2012, 12:20:31
    #37942609
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка списка слов
Где вообще сортировка?
Каждое слово в отдельной строке?
Существуют метод String.contains(), например.
Чтобы нормально удалять из списка, нужно итерироваться с хвоста.
Откройте для себя пошаговою отладку, если и дальше собираетесь программировать, а не просто лабы сдавать.
...
Рейтинг: 0 / 0
04.09.2012, 13:19:58
    #37942766
Vilislacis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка списка слов
Спасибо)Вот так получилось.
public class pass2{
public static void main(String [] args) throws IOException {
List<String> strings = new ArrayList<String>();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("pass.txt"), "CP1251"));
String line;
while ((line = reader.readLine()) != null) {
strings.add(line);
} ;
for (int i = strings.size()-1;i>=0; i--)
{ String str = strings.get(i);
if ((str.contains("э")||
(str.contains("Э"))||
(str.contains("Х"))||
(str.contains("х"))||
(str.contains("Ж"))||
(str.contains("Ё"))||
(str.contains("ё"))||
(str.contains("Ъ"))||
(str.contains("ъ"))||
(str.contains("Б"))||
(str.contains("Б"))||
(str.contains("Ю")))) {strings.remove(i);continue; }}


for (int k=0;k<strings.size();k++) {
System.out.println(strings.get(k));}
; } }
...
Рейтинг: 0 / 0
04.09.2012, 15:21:52
    #37942974
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка списка слов
Vilislacis,

Код: java
1.
2.
3.
4.
5.
String line;
while ((line = reader.readLine()) != null) {
    // Сделайте проверку перед добавлением в список
    strings.add(line);
}
...
Рейтинг: 0 / 0
05.09.2012, 14:02:44
    #37944670
Vilislacis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сортировка списка слов
Usman,
спасибо, справедливое замечание)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Сортировка списка слов / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]