Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Обработчик печати.
- * ... тут куча описания ...
- */
- interface PrintListener {
- /**
- * Печать объекта последовательности.
- * @param num номер объекта в последовательности.
- * @return true, если объект не последний, false - в обратном случае.
- */
- boolean print( int num );
- }
- /**
- * Реализация печати последовательности объектов.
- */
- class Printer {
- private PrintListener printListener;
- public Printer( PrintListener printListener ) {
- this.printListener = printListener;
- }
- public void print() {
- int num = 1;
- while ( printListener.print( num++ ) );
- }
- }
- public class Gavnokod4 {
- final static int N = 6;
- public static void main( String[] args ) {
- // запускаем печаталку строк
- new Printer( new PrintListener() {
- @Override
- public boolean print( final int row )
- {
- // запускаем печаталку столбцов в каждой строке
- new Printer( new PrintListener() {
- @Override
- public boolean print( final int col )
- {
- System.out.print( row%2==1 ? col : row-col+1 );
- System.out.print( col < row ? "-" : "\n" );
- // печатаем пока столбцов меньше строк
- // (у нас же половинка матрицы)
- return col<row;
- }
- }).print();
- // печатаем пока не напечатано нужное кол-во строк
- return row<N;
- }
- }).print();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement