Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Упорядочивание и сортировка / 25 сообщений из 30, страница 1 из 2
01.10.2012, 01:01:28
    #37977748
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Здравствуйте
нужно упорядочить слова из текста по возрастанию количества согласных букв в слове
я решила делать так

package javaapplication1;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

public class JavaApplication1 {


public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
List<String> strings= new ArrayList <String>();
BufferedReader reader= new BufferedReader(new InputStreamReader(new FileInputStream("lab.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.lastIndexOf(i);

}
}

for (int k=0; k< strings.size();k++){
System.out.println(strings.get(k));
}


}}

но оно просто выбивает мне текст.а если заменить strings.lastIndexOf(i) на strings.remove(i) и при наличие хоть одной из гласных букв то удаляется весь текст
хеееелп
я в java новичок(
...
Рейтинг: 0 / 0
01.10.2012, 02:01:42
    #37977761
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Бедняша ^^

lastIndexOf возвращает последнее положение элемента в ArrayList. Зачем ты его вызываешь?
Тебе нужно сделать Comparator
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
class MySrtingsComparator implements Comparator<String>{
 
    public int compare(String emp1, String emp2){    
 
   	//посчитать буквы в emp1 emp2 и вернуть разницу в количестве

    }
 
}


а потом передать его в стандартный метод сортировки массива.
...
Рейтинг: 0 / 0
01.10.2012, 09:30:27
    #37977884
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Лагман,
а можно мне вот это вот все уже в коде?((
на данный момент нету времени самой((
...
Рейтинг: 0 / 0
01.10.2012, 09:39:51
    #37977892
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
katkat,

Нисколько не ставя Вашу занятость под сомнение, предлагаю все же бросить сюда Вашу лучшую попытку. Времени займет минут 20-30 максимум, а там уже и мы подмогнем. Вам уже дали конкретную наводку - осталось только стрельнуть так сказать.
...
Рейтинг: 0 / 0
01.10.2012, 16:17:03
    #37978846
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication1;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

/**
 *
 * @author Катерина
 */
public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
        List<String> strings= new ArrayList <String>();
        BufferedReader reader= new BufferedReader(new InputStreamReader(new FileInputStream("lab.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();
        
        }
        }
        
      for (int k=0; k< strings.size();k++){
          System.out.println(strings.get(k));
      }
  
        
class MyStringsComparator implements Comparator<String>{
 
    public int compare(String line, String str){ 
        int count=0;
        for(int i=0; i<line.length();++i){
            for (int j=0; j<str.length();j++){
              if (line.length()==str.length())  
                  count++;
            }
        }
        return (count);
        
    }}}}
        
    

   



что-то такое
как передать в стандартный метод сортировки не додумалась
...
Рейтинг: 0 / 0
01.10.2012, 16:27:38
    #37978877
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Поясните, что делает этот код?
Код: java
1.
2.
3.
4.
5.
6.
7.
  
for(int i=0; i<line.length();++i){
            for (int j=0; j<str.length();j++){
              if (line.length()==str.length())  
                  count++;
            }
        }
...
Рейтинг: 0 / 0
01.10.2012, 16:29:14
    #37978884
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
katkat,

В верном направлении идете - вот здесь почитайте как передать компаратор:

http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html#sort%28T [],%20java.util.Comparator%29
...
Рейтинг: 0 / 0
01.10.2012, 16:30:40
    #37978890
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Лагман,

Коллега, давайте попробуем девушке дать возможность передать в sort её "псевдо-компаратор" и потом уже полюбопытствуем.
...
Рейтинг: 0 / 0
01.10.2012, 16:32:30
    #37978898
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Kostya Ilyinov,

Но ведь она просто копирует текст, как он будет работать, если она не осознает, что там происходит?
...
Рейтинг: 0 / 0
01.10.2012, 16:41:10
    #37978924
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
если неверно то зачем даром его в сорт передавать?
не могли бы Вы просто мне помочь и прямо показать как правильно а я уже разберусь а кусок того кода вроде как количество считает
...
Рейтинг: 0 / 0
01.10.2012, 16:47:20
    #37978942
Kostya Ilyinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
katkat,

Предлагаю промежуточный вариант - вот вам совсем чучуть чтива
http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/

Прочитав это и потратив полчаса на адаптацию к Вашей задаче, Вы несоизмеримо сильнее прокачаете знания, нежели чем
пост-фактум разбор работающего кода. Я умываю руки, у меня уже время пить пиво.

2Лагман - теплится надежда что в дебаге придет осознание. Ну, будем надеяться на упорство Катерины.
...
Рейтинг: 0 / 0
01.10.2012, 16:50:25
    #37978955
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Kostya Ilyinov,

спасибо, попробую
...
Рейтинг: 0 / 0
01.10.2012, 17:04:16
    #37978997
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Лагман,

emp1 emp2 в вашем куске кода... чему эквивалентно в моем?
...
Рейтинг: 0 / 0
01.10.2012, 17:05:43
    #37979004
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
line и str, судя по всему
...
Рейтинг: 0 / 0
01.10.2012, 17:43:22
    #37979085
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Лагман,

буду очень благодарна если вы мне поможете с компаратором.не идет как-то вообше
а нужно срочно.
...
Рейтинг: 0 / 0
01.10.2012, 18:31:43
    #37979174
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
katkatа нужно срочно.xj yfljnj&
...
Рейтинг: 0 / 0
01.10.2012, 18:31:52
    #37979176
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
grasoff.netkatkatа нужно срочно.xj yfljnj&чо надото?
...
Рейтинг: 0 / 0
01.10.2012, 18:40:35
    #37979183
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
katkatЗдравствуйте
нужно упорядочить слова из текста по возрастанию количества согласных букв в слове
я решила делать так

package javaapplication1;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

public class JavaApplication1 {


public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
List<String> strings= new ArrayList <String>();
BufferedReader reader= new BufferedReader(new InputStreamReader(new FileInputStream("lab.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.lastIndexOf(i);

}
}

for (int k=0; k< strings.size();k++){
System.out.println(strings.get(k));
}


}}

но оно просто выбивает мне текст.а если заменить strings.lastIndexOf(i) на strings.remove(i) и при наличие хоть одной из гласных букв то удаляется весь текст
хеееелп
я в java новичок(
...
Рейтинг: 0 / 0
01.10.2012, 18:41:11
    #37979184
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
grasoff.net,

вот с этим помочь...
...
Рейтинг: 0 / 0
01.10.2012, 18:48:09
    #37979195
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
чото треш какойто

на самом деле. а чо - лабораторная? да? и тебе просто так надо красиво? ну вот подсказок же тыща была
тебе дана. но даже и без их помощи можно сделать очень просто

нисмареть!!
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
package javaapplication1;

import java.util.*;

public class JavaApplication1 {
    public static void main(String[] args) {
        List<String> strings = fillList(args);
        Collections.sort(strings, comparator());
        System.out.println(strings);
    }

    private static Comparator<? super String> comparator() {
        return new Comparator<String>() {
            String letters = "бвгджзклмнпрстфхцчшщ";
            int count(String s) {
                if (s == null || s.trim().isEmpty()) {
                    return 0;
                }
                int count = 0;
                for (int i = 0, l = s.length(); i < l; i++) {
                    if (letters.indexOf(s.charAt(i)) >= 0) {
                        count++;
                    }
                }
                return count;
            }

            @Override
            public int compare(String s1, String s2) {
                return count(s1) - count(s2);
            }
        };
    }

    private static List<String> fillList(String[] args) {
        return Arrays.asList("4аоп аоп аоп аоп", "3аоп аоп аоп", "2аоп аоп", "1аоп");
    }
}

...
Рейтинг: 0 / 0
01.10.2012, 18:48:30
    #37979196
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
печально чо
...
Рейтинг: 0 / 0
01.10.2012, 19:04:05
    #37979218
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
Моежт человек обучается на специальности, не связанной с математикой. Например, экономист.
...
Рейтинг: 0 / 0
01.10.2012, 19:05:23
    #37979221
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
ЛагманМоежт человек обучается на специальности, не связанной с математикой. Например, экономист.моежт
да я просто так
поныл
чо
...
Рейтинг: 0 / 0
01.10.2012, 23:56:29
    #37979404
katkat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
grasoff.net,

спасибо большое за помощь!!!!
теперь буду разбираться)
...
Рейтинг: 0 / 0
02.10.2012, 07:34:52
    #37979515
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание и сортировка
katkat,

Да на здоровье. Какая ж это помощь, списать дал (( Сейчас придёт Костя и сделает мне нагоняйчиков.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Упорядочивание и сортировка / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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