Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не выводит сумму во время сортировке 
:(
    Опции темы
ArniLand
Дата 18.10.2010, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 17.8.2008

Репутация: нет
Всего: нет



Программа должна выводить сумму каждой строки массива строк при сортировки, при этом выводиться просто сами строки. Для сортировки использую алгоритм вставками. В чем заключается проблема?


Код

package laba13;
import java.io.*;
import java.lang.*;

public class Row {
    public static void InsertionSort(String mass[])
{
    int i;

    for (i = 1; i < mass.length; i++)
    {
        int j;
        String buf = mass[i];
        for (j = i - 1; j >= 0; j--)
        {
            if (sum(mass[i]) > sum(mass[j]))
                break;
            mass[j + 1] = mass[j];

        }

        mass[j + 1] = buf;
        
    }
}
    
    public static int sum (String mass) {
       int result = 0;
       for (int i = 0; i < mass.length(); i++)
        {
            int value = Integer.parseInt(String.valueOf(mass.charAt(i)), 10);
            result += value;
        }
       return result;
    }
    
    public static void main(String arg[])
    {
        String mass[]={"3232", "4343", "3122"};
        InsertionSort(mass);
        for (int i = 0; i < mass.length; i++) {
            System.out.println("posle" + mass[i]);
        }
    }
}



Это сообщение отредактировал(а) ArniLand - 18.10.2010, 21:03
PM MAIL   Вверх
nc30
Дата 19.10.2010, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Интересующийся :)
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 24.6.2010
Где: Санкт-Петербург

Репутация: 5
Всего: 8



ArniLand,
Проблема в том, что вместо
Код

System.out.println("posle" + mass[i]);
надо написать
Код

System.out.println("posle" + sum(mass[i]));

Но приведенный вами алгоритм неправильно сортирует. Углубляться не стал, привожу работающий вариант.
Код

package laba13;

public class Row {
    public static void insertionSort(String[] arr) {
        int i, j;
        String newValue;
        for (i = 1; i < arr.length; i++) {
            newValue = arr[i];
            j = i;
            while (j > 0 && arr[j - 1].compareTo(newValue) > 0 ) {
                arr[j] = arr[j - 1];
                j--;
            }
            arr[j] = newValue;
        }
    }

    public static int sum (String mass) {
        int result = 0;
        for (int i = 0; i < mass.length(); i++) {
            int value = Integer.parseInt(String.valueOf(mass.charAt(i)), 10);
            result += value;
        }
        return result;
    }

    public static void main(String arg[]) {
        String mass[]={"3232", "4343", "3122"};
        System.out.println("before:");
        for (int i = 0; i < mass.length; i++) {
            System.out.println(sum(mass[i]));
        }
        insertionSort(mass);

        System.out.println("after: ");
        for (int i = 0; i < mass.length; i++) {
            System.out.println(sum(mass[i]));
        }
    }
}

Несколько общих замечаний:
1) Импортировать пакет java.lang нет необходимости, т. к. он реализует фундаментальные классы языка Java и включается в проект по умолчанию.
2) Оснований для импорта java.io в данный проект я тоже не нашел (к примеру, метод System.out.println() реализован в классе System пакета java.lang - см. п. 1)
3) Названия методов в Java принято начинать со строчной буквы.

Удачи.

Это сообщение отредактировал(а) nc30 - 19.10.2010, 07:23
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.