А как проверить при чтении из фаила содержит ли фаил 4 столбца? там йункция чтения на предыдущей странице была..акей писал.
Еще вопрос: а как можно добавлять в массив только неодинаковые элементы?
Сообщение изменено: OzzY (07 октября 2006 - 18:32 )
Отправлено 07 октября 2006 - 17:09
Сообщение изменено: OzzY (07 октября 2006 - 18:32 )
Отправлено 08 октября 2006 - 22:01
for(i=0;i<next_id.size();i++) { for(j=0;j<next_id.size();j++) { if(!(next_id.get(i).equals(next_id.get(j)))) { next_id.add(next_id.get(j)); } } }но получаю вот такую надпись:
Отправлено 08 октября 2006 - 23:22
а ты смотри сам. Пихаешь в тот же список по которому цикл организован.но получаю вот такую надпись:Exception in thread "main" java.lang.OutOfMemoryError: Java heap space!
Сообщение изменено: Fors (08 октября 2006 - 23:24 )
Отправлено 09 октября 2006 - 09:57
А как проверить при чтении из фаила содержит ли фаил 4 столбца? там йункция чтения на предыдущей странице была..акей писал.
Сообщение изменено: Акей (09 октября 2006 - 09:57 )
Отправлено 09 октября 2006 - 17:33
ArrayList uri_id=new ArrayList(); //v etom spiske hranjatsja pervona4aljnqe indeksq poiska ArrayList next_id=new ArrayList();//zdesj soderzitsja spisok row_id. pri4em kazdqi row sootvetstvuet id 4eleveka ArrayList row_id=new ArrayList(); //spisok indeksov po kotoromu isem imusestvo 4eloveka for(int i = 0; i < dataBase.size(); i++) { ArrayList row = (ArrayList)dataBase.get(i); if((row.get(1)).equals("nimi")) { uri_id.add(row.get(0)); //zapolnjaem pervona4aljnqi spisok indeksov..sei4as tam ese estj nepraveljnqi indeksq } } System.out.println(uri_id); for(int i = 0; i < dataBase.size(); i++) { ArrayList row = (ArrayList)dataBase.get(i); for(j=0;j<row_id.size();j++) { if(row.get(0).equals(uri_id.get(j))&&row.get(1).equals("omab")) { row_id.add(row.get(2)); //otbiraem iz pervogo spiska indeksov nenuznqe indeksq } } next_id.add(row_id);//sozdaem dvumernqi spisok }При таком коде у меня не заполняется ни список row_id ни next_id!!!(? Почему? что не так? Это самое начало функции там больше ничего до этого нет...может дела в проверке uri_id?? А?
Отправлено 10 октября 2006 - 09:55
Отправлено 10 октября 2006 - 10:40
Отправлено 10 октября 2006 - 19:26
А мне код лень читать и вообще: Ози, надо было на олимпиаду двигать сегодняFors, да ладно тебе На самом деле я знаю где задание ( http://www.lambda.ee..._mikroandmebaas ) но мне влом его читать
Отправлено 13 октября 2006 - 16:35
itemvalue=Integer.parseInt((String)(row.get(2)));работает ок (здесь из списочного типа делается строка, а потом целое), а
result[i]=file_value[i] + Integer.parseInt((String)(id_fullsum.get(i)));
for(j=0;j<next_id.size();j++) { if(next_id.contains(null)) { next_id.remove(j); } }не работает?
Сообщение изменено: OzzY (13 октября 2006 - 16:41 )
Отправлено 13 октября 2006 - 19:46
это не работает, т.к. парсИнт возвращает объект типа Интегер, а не простой тип инт.result[i]=file_value[i] + Integer.parseInt((String)(id_fullsum.get(i);
а это может не работать на коллекциях, которые не допускают пустые значения.for(j=0;j<next_id.size();j++) { if(next_id.contains(null)) { next_id.remove(j); }}
Отправлено 14 октября 2006 - 22:03
а может дану его нафиг? Сегодня суббота, расслабьсяв обоих примерах с интом и складываю, в том и дело, что ы первом просто переменной значение присваиваю, а потом ее прибавляю, а во втором сразу к некоторому элементу массива прибавляю..может тоже сначала к какой-нить переменной присвоить?
Отправлено 16 октября 2006 - 22:32
for(j=0;j<next_id.size();j++) { ArrayList row_id = (ArrayList)next_id.get(j); for(i=0;i<row_id.size();i++) { for(int k = 0; k < dataBase.size(); k++) { ArrayList row = (ArrayList)dataBase.get(k); if(row.get(0).equals(row_id.get(i))&&row.get(1).equals("hind")&& row.get(3).equals("integer")) { itemvalue=Integer.parseInt((String)(row.get(2))); System.out.println("Item value of person, who has id="+(j+1)+" is: "+itemvalue); fullsum=fullsum+itemvalue; } } }
int[] file_value=new int[id_fullsum.size()]; int[] result=new int[id_fullsum.size()]; int[] total=new int[id_fullsum.size()]; for(i=0;i<id_fullsum.size();i++) { ArrayList row_id = (ArrayList)next_id.get(i); split=split(row_id); //vqzov funktsii razbitija na slova System.out.println("split: "+split); file_value[i]=file_search(split,flag,omadus,vaartus); //poisk zna4enija v drugom faile, imja kotorogo polu4ili iz funktsii split total[i]=Integer.parseInt((String)(id_fullsum.get(i))); result[i]=file_value[i] + total[i]; System.out.println("Result is: "+result); }в данном нет!
Сообщение изменено: OzzY (16 октября 2006 - 22:35 )
Отправлено 17 октября 2006 - 22:29