|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - Сортировка строк по первому слову в алфавитном порядке |
|
Java - Сортировка строк по первому слову в алфавитном порядке
|
Старожил Сообщения: 208 |
люди добрые помогите пожалуйста
есть программа которая читает из файла и по кнопочками удаляет добавляет и редактирует записи в файле, и вот когда она читает из файла на страницу, записи надо отсортировать записи по фамилии в алфавитном порядке помогите пожалуйста реализовать эту сортировку <%@page contentType="text/html" pageEncoding="windows-1251"%> <%@page import="java.io.*, java.util.*, java.text.Collator"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%! String strConvert(String src, String cp1, String cp2) throws UnsupportedEncodingException { byte[] buf=src.getBytes(cp1); String rez=new String(buf,cp2); return rez; } String showSome(String some) { if (some==null) return ""; else return "<font face=\"Arial\" size=\"-1\" color=\"blue\" style=\"font-weight:700\">"+some+"</font>"; } %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Пример веб-приложения на JSP и сервлетах</title> <script> function chkRadio() { if((document.f.recno==null)||document.f.recno==undefined) return false; selflag=document.f.recno.checked?true:false; for(i=0; i<document.f.recno.length;i++) { if(document.f.recno[i].checked) { selflag=true; break; } } return selflag; } function chkEdit() { if ((document.f.fio.value=="")||(document.f.nz.value=="")||(document.f.mrk.value=="")||(document.f.ind.value=="")) return false; else return true; } function checkForm(arg) { switch (arg) { case 'add': if(!chkEdit()) alert("Заполните все поля!"); else { document.f.todo.value="0"; document.f.submit(); } break; case 'del': if(!chkRadio()) alert("Ни одна запись не выбрана!"); else { document.f.todo.value="1"; document.f.submit(); } break; case 'chg': if(!chkRadio()) alert("Ни одна запись не выбрана!"); else if(!chkEdit()) alert("Заполните все поля!"); else { document.f.todo.value="2"; document.f.submit(); } break; case 'delall': if(confirm("Удалить ВСЕ записи?")) { document.f.todo.value="3"; document.f.submit(); } } } </script> </head> <body> <h2 align="center" style="color:#771111">Ведомость успеваемости по курсу</h2><h1 align="center" style="color:#111177">"Прикладные аспекты повышения качества оказания эффективного содействия тем, кто ничего не делает"</h1> <form name="f" action="<%=request.getContextPath()+"/filer"%>" method="post"> <table border="1" align="center" cellpadding="3" cellspacing="3" width="75%"> <tr bgcolor="#e0e0e0"> <th> № п/п </th> <th> ФИО </th> <th> № зачетной книжки </th> <th> Оценка </th> <th> Индекс оценки </th> <th> Выбрать запись </th> </tr> <% String fname="c:\\tmp\\myfile.dat", fio, nz, mrk, ind; int i=0; RandomAccessFile f; BufferedReader br; try{ f=new RandomAccessFile(fname, "r"); while(f.getFilePointer()<f.length()) { fio=strConvert(f.readLine(),"cp1252","cp1251"); nz=strConvert(f.readLine(),"cp1252","cp1251"); mrk=strConvert(f.readLine(),"cp1252","cp1251"); ind=strConvert(f.readLine(),"cp1252","cp1251"); i++; %> <tr bgcolor="#eeeeee"> <td><%=i%></td> <td><%=fio%></td> <td><%=nz%></td> <td><%=mrk%></td> <td><%=ind%></td> <td align="center"><input type="radio" name="recno" value="<%=i%>"></td> </tr> <% } f.close(); } catch(Exception e) { %> <tr> <td colspan="6" align="center"><b>Исключение: <%=e.toString()%></b></td> </tr> <% } finally { } String[] listUnsort = {"1.jpg", "10.jpg", "100.jpg", "200.jpg", "11.jpg", "110.jpg"}; System.out.println("До сортировки: "+Arrays.toString(listUnsort)); Arrays.sort(listUnsort); System.out.println("После сортировки: "+Arrays.toString(listUnsort)); %> </table> <hr width="70%"> <table width="60%" border="0" align="center" bgcolor="#eeeedd" style="color: blue;font-style: oblique; border-left: solid olive; border-right: solid olive; border-bottom: solid olive; border-top: solid olive; font-weight: 700"> <tr> <td> ФИО:<input type="text" size="35" name="fio"> </td> <td> Номер зачетки:<input type="text" size="20" name="nz"> </td> <td> Оценка:<input type="text" size="20" name="mrk"> </td> <td> Индекс:<input type="text" size="10" name="ind"> </td> </tr> </table> <hr width="60%"> <div align="center" > <input type="button" value="Добавить запись" onclick="checkForm('add');"> <input type="button" value="Удалить запись" onclick="checkForm('del');"> <input type="button" value="Изменить запись" onclick="checkForm('chg');"> <input type="button" value="Удалить все записи" onclick="checkForm('delall');"> <input type="reset" value="Сброс"> <input type="hidden" name="todo" value="zero"> </div> </form> <hr width="50%"> <div align="center"><%=showSome((String)session.getAttribute("status"))%></div> <div align="right"><a href="<%=request.getContextPath()+"/serverinfo"%>">Посмотреть все заголовки</a></div> </body> </html> |
|
Отправлено: 10:37, 22-12-2011 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать попробуйте считывать сначала в двумерный массив, в нем сортировать и затем выводить на страницу
|
Отправлено: 11:15, 22-12-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 208
|
Профиль | Отправить PM | Цитировать да по поводу двумерных массивов я много видел постов на разных форумах
не могли бы Вы подсказать как сделать эту сортировку? с ней то как раз и проблема |
Отправлено: 11:18, 22-12-2011 | #3 |
Будем жить, Маэстро... Сообщения: 6694
|
Профиль | Сайт | Отправить PM | Цитировать pogo, У вас на java есть возможность:
1. Создать список строк 2. Отсортировать его 3. Использовать отсортированный по назначению К примеру на С++ это делается так: |
------- Отправлено: 18:35, 22-12-2011 | #4 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать такая сортировка не подойдет, так как считывается блоками по четыре строки и отсортировать нужно по первой строке каждого блока
с двумерными массивами не то лучше, наверное, это http://www.javaportal.ru/java/articles/sort.html |
|
Отправлено: 01:39, 23-12-2011 | #5 |
Старожил Сообщения: 208
|
Профиль | Отправить PM | Цитировать Спасибо! буду пробовать!)
|
Отправлено: 08:05, 23-12-2011 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Загрузка - [решено] Компьютер подготавливается к первому использованию | Skyver-x | Microsoft Windows 7 | 23 | 01-04-2019 08:01 | |
Первому устройству на Android исполнилось 3 года | OSZone News | Новости информационных технологий | 0 | 24-09-2011 06:30 | |
Google заплатит первому взломавшему защиту Chrome $20 тыс. | Gold Dragon | Новости информационных технологий | 3 | 08-02-2011 19:04 | |
Сборка компьютера по последнему слову техники. | Keroberas | Выбор отдельных компонентов компьютера и конфигурации в целом | 6 | 29-01-2011 22:14 | |
Можно ли альбомы разместить в алфавитном порядке в Моем мире на мил ? | micro8 | Хочу все знать | 0 | 28-12-2010 12:32 |
|