powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Про суммировать значения в одинаковых тегах
9 сообщений из 9, страница 1 из 1
Про суммировать значения в одинаковых тегах
    #34937599
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Помогите решить простенькую задачку.
У меня есть теги PAC:
Код: plaintext
1.
2.
3.
4.
*********
<PAC kol_pac="38" pac="20" ves="125879"/>
<PAC kol_pac="3" pac="21"/>
<PAC kol_pac="10" pac="20"/>
********
Мне необходимо проанализировать их и если они равны по pac(на пример pac="20"), то необходимо все аттр. сложить. Результат должен быть:
Код: plaintext
1.
2.
3.
*********
<PAC kol_pac="48" pac="20" ves="125879"/>
<PAC kol_pac="3" pac="21"/>
********
Может можно как то без массива?
Я пробовала:
Код: plaintext
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.
nodePac = XPathAPI.selectNodeIterator(document,"//UZ-XDOC/BODY/OTPR/PAC/@pac"); 
         nodeKol_Pac = XPathAPI.selectNodeIterator(document,"//UZ-XDOC/BODY/OTPR/PAC/@kol_pac"); 
         Kol_Pac =  null ;
         Pac =  null ;
         NodeIterator nodePAC = XPathAPI.selectNodeIterator(document,
         "//UZ-XDOC/BODY/OTPR/PAC"); 
         Node PAC;
          while ((PAC = nodePAC.nextNode()) !=  null )
         {
           Node P = XPathAPI.selectSingleNode(document,"//UZ-XDOC/BODY/OTPR/PAC"); 
            if ((Pac = nodePac.nextNode()) !=  null )
           {
               pac = Integer.parseInt(Pac.getNodeValue());
           }
             else 
            {
               pac =  0 ;
            }
             if ((Kol_Pac = nodeKol_Pac.nextNode()) !=  null )
            {
               kol_pac = Integer.parseInt(Kol_Pac.getNodeValue());
            }
             else 
            {
               kol_pac =  0 ;
            }
             if  (pac==k_pac)
            {
               kol_pac+= n_kol;
               System.out.println(pac + "   " + kol_pac);
            }
            k_pac = pac;
            n_kol = kol_pac;
         }
но так сравниваются только два рядом стоящих тега
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34937850
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, я бы через Map сделал. Ключи, соотвественно, это значения атрибута pac. Сопоставляемое ключу значение, собственно, сама сумма элементов. Если нужно делать поэлементое сложение (т.е. на выходе что-то вроде pac = 20, kol_pac = 38, ves = 125879), то создается дополнительный объект-хранилище этих элементов.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
TPac =  class  {
   private   int  kol_pac;
   private   int  ves;

  addKol_Pac(value);
  addVes(value);
  getKol_Pac;
  getVes;
}
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34937946
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибочки, но я не работала с Мар.
А нельзя ли разложить по полочкам, как для не очень сообразительного человека.Плиз.
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34939000
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://java.sun.com/docs/books/tutorial/collections/index.html
http://java.sun.com/docs/books/tutorial/collections/interfaces/map.html
+, полезно будет,
http://java.sun.com/docs/codeconv/
И еще. Ваша задача очень удобно на Ruby делается, так что если производительность не критична, имеет смысл посмотреть на него.
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34939106
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо!
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34939161
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ради интереса, 78 в вашем нике это регион?
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34940797
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не регион
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34941526
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ради интереса, Leonidv это просто ник или нет?
...
Рейтинг: 0 / 0
Про суммировать значения в одинаковых тегах
    #34942255
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это имя + первая буква фамилии.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Про суммировать значения в одинаковых тегах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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