Глава 2
/** Program from Albert Volos May 2010
* (C) "Распознаватель Текста"
* Автор: Альберт Волос (e-mail: pick4you@yandex.ru)
* http://www.pick4you.narod.ru
*
**/
//МЕЖДУСТРОЧИЕ
//Определяем эталон пустой строки
List<Character> charVecPustStr = new ArrayList<Character>(); //вектор для строки
List<Character> charVecCh = new ArrayList<Character>();
List<Character> charVecCh1 = new ArrayList<Character>();
charVecCh1.add(new Character('0'));
int kol_Null = 0;
for(int y = 0; y < 1; y++){
for(int x = (FieldNew.get(0).size()-1); x > 1; x--){
charVecCh.add(FieldNew.get(y).get(x));
if(charVecCh.equals(charVecCh1)){
kol_Null++;
charVecCh.clear();
continue;
}
else{
for(int i = 0; i < FieldNew.get(0).size()-kol_Null;i++)
charVecPustStr.add(new Character('F'));
//System.out.println("kol_Null " + kol_Null);
for(int q=0;q < kol_Null;q++){
charVecPustStr.add(new Character('0'));
}
kol_Null = 0;
charVecCh.clear();
break;
}
}
}
//Эталон пустой строки определен: charVecPustStr
//System.out.println(charVecPustStr);
//---------------------------------------------------
int kol = 0;//колич символов в строке
//Поместим С-К в двумерный массив
//char charMas04[] = new char[size_file1]; //вектор строки
List< List<Character> > Field_Str = new ArrayList< List<Character> >();
List< List<Character> > Field_StrNew = new ArrayList< List<Character> >();
List<Character> CharStroka = new ArrayList<Character>();//вектор строки
////////////////////////////////////////////////
////////////////////////////////////////////////
////////////// СТРОКА-КАРТИНКА в Field_Str ////
///////////////////////////////////////////////
//Field.size() равно chislo_str
//Field[0].size() равно dlina_str*2
//String Temp = "";
int control = 0;
int chisloStrKartinka = 0;
int chisloPustoStr = 0;
//200
for (int y = 0; y < FieldNew.size(); y++) {
for (int x = 0; x < FieldNew.get(0).size(); x++) {
CharStroka.add(FieldNew.get(y).get(x));
}
if(charVecPustStr.equals(CharStroka)){//пустая строка
CharStroka.clear();
}//////////////////////////////////////////////
else{//строка не пуста
//Добавить строку в Field_StrNew
Field_Str.add(CharStroka);
for (int y1 = 0; y1 < Field_Str.size(); y1++) {
List Str = new ArrayList();
for (int x = 0; x < Field_Str.get(0).size(); x++) {
Str.add(Field_Str.get(y1).get(x));
}
Field_StrNew.add(Str);
}
CharStroka.clear();
Field_Str.clear();
}//end if..else строка пуста/не пуста
//-------------------------------------------------------------------------
}//end for
System.out.println("Field_StrNew.size() " + Field_StrNew.size());
System.out.println("Field_StrNew.get(0).size() " + Field_StrNew.get(0).size());
//---------------------------------------------------
//выведем поле (двумерный вектор) FieldNew для проверки.
//В нем полная картинка
for (int y = 0; y < Field_StrNew.size(); y++) {
for (int x = 0; x < Field_StrNew.get(0).size(); x++) {
fout.print(Field_StrNew.get(y).get(x));
}
fout.println("");
}
//В двумерном векторе Field полная картинка
fout.close();
Мы видим, что в таком виде программа просто удалила все пустые строки:
Но это уже кое-что! Дальше будем совершенствовать. Далее будем добавлять код,
который правильно оставляет "шапки" (Шапки - это запятая над Й, точки над Ё).
Программа находится:
D:\Ency_Языки_Программир\Ency_Java\Распознавание образов\Программы01_07\Программы03\Prog15>
Назад |
Начало урока |
Вверх |
Вперед
Содержание