Назад | Начало урока | Вперед
Содержание

Глава 1 (продолжение)

Вверх

1.7 Код программы SortWords

import java.io.*;
import java.util.*;
import javagently.*;
import myutilities.*;
import util.*;

class SortWords {

boolean search (LinkedList Word_List, String x) {
for (ListIterator list = Word_List.listIterator(); list.hasNext();){
String str = (String) list.next();
if (x.compareTo(str)==0)
return true;
}
return false;
}

void report (LinkedList Word_List, Stream fout) {

int k = 0;
for (ListIterator list = Word_List.listIterator(); list.hasNext(); ) {
String str = (String) list.next();
fout.print(str );
fout.print(" " );
k++;
if(k==7){
fout.println("\t");
k=0;
}
}
}


SortWords() throws IOException {

Stream in = new Stream (System.in);
Stream fin = Filer.open("sort.java");
Stream fout= new Stream ("parts.out",Stream.WRITE);

SelectSort sel = new SelectSort();
Report rep = new Report();

int number = 0;
String goodChar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

System.out.print("Whate are the words length? ");
number = in.readInt();

//declaration LinkedList
LinkedList Word_List = new LinkedList();
int count=0; try {

for (;;) {
String word = fin.readString();

//Проверим все ли символы являются буквами
int z =0;
for( int i=0;i < word.length();i++) {

if(-1==goodChar.indexOf(word.charAt(i))) {
z=-1;
break;
}
if(z==-1)break;
}
if(z==-1)continue;

//Проверим не содержится ли уже это слово в списке.
//Проверим длину слова. Добавим в список.

if (! search(Word_List,word)) {

if(word.length() == number){
Word_List.add(word);
count++;
}
}
}
} catch (EOFException e) {
fout.println(count + " words read.\n\n");
}


fout.print("Original\n");
fout.print("========\n");

Выведем результат в файл
report(Word_List,fout);

//Объявим массив и заполним его данными
int len = Word_List.size();
String group [] = new String[len];

int num = 0;
for (ListIterator list = Word_List.listIterator(); list.hasNext();){

String str = (String) list.next();
group[num] = str;
num++;
}

//Отсортируем
sel.selectionSort(group,num);

fout.print("\n\nSorted\n");
fout.print("======\n");

Вновь выведем в файл
rep.report(group,num,fout);

}


public static void main(String[] args) throws IOException {

new SortWords();
}


} //end of program


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz