All pastes #55803 Raw Edit

Someone

public java v1 · immutable
#55803 ·published 2006-05-14 15:15 UTC
rendered paste body
/* 33 ??????, ??? ??? ?? ???? ??????????????? ??-??-???! *//* (1): ???????????? ????? ?????? ? ????? ????????Java GUI Toolkit ?? ???? ??????? ???? ?? ????? */import java.awt.*;/* (2): ???????? ?????? ????? ????? ???? ? ????? ??????? */public class FibArray {	public static void main(String args[]) {		new MenuFib("MenuFib").menu();	}}class MenuFib extends Frame {	/* (3): ? ????? ???? ?????????? title? ??? ?????? */	public MenuFib(String title) {		super(title);	}	public void menu() {		MenuBar menuBar = new MenuBar();		Menu data = new Menu("Data");		menuBar.add(data);		/* (4): ??????? ???????? ??????? ???? ? ??????,		   ? ????? ????? ???????? ?? ? ??????				   BTW, ????????? ?????????? ??????? ?????? ?????		   ??? ??????? ????, ??????? ???????????? 		   ???? ?????-?????? ?????????? ?????????????.		   ??? ?? ???? ???????, ??? ?? ??????? ???? ?????		   **???????** ?????? ???? */		data.add(new MenuItem("Input data..."));		data.add(new MenuItem("-"));		data.add(new MenuItem("Exit..."));		setMenuBar(menuBar);		/* (5): ? ????????? ???????????? ????? resize(),		   ??????? ??? ????? ???????? deprecated */		setSize(150,150);		show();	}	public boolean action(Event evt, Object arg) {		if (evt.target instanceof MenuItem) {			/* (6): ?????? ?????? -- ???????????? ?????????? ?????? 			   ? ?????? ??????. ????? ????????? ??????? DRY */			if (arg.equals("Input data...")) {				new DialogFib(this, "Input Data", true).dialog();			}			/* (6): ?????! ?? ?????? ??? ?????! */			else if (arg.equals("Exit...")) {				System.exit(0);				return true;			}		}		/* (7): ? ????????? ??????????? ??????? "false", ???		   ? ?????? ???????? ?? ??????? ????, ??? ????????????		   ????? ??? ?????? ???-?? ???????? ? ????? ??????????? */		return super.action(evt, arg);	}	/* (8): ??? ??????? ??????????? ? ????????? ? ?????????? ??????????	   ???? ?? ?????? ???? */	public boolean handleEvent(Event evt) {		if (evt.id == Event.WINDOW_DESTROY) {			dispose();			return true;		}		/* (9): ?????? ????? (7) */		return super.handleEvent(evt);	}}/* (10): ?????????? ???????? ??????, ??????? ?????? ?????? ???    ????? ????????????? ?????. ????? ?? ???????? ???? ??? ?????   ????? ?? ??????? ?????. */class DialogFib extends Dialog {	/* ?????????? ???????? ???????? ?????????? -- ????? ?????? */	int nf;	static String temp;	TextField tf;	/* (11): ??? ??? ??????? -- ????????? ?????? ? ?????? ?? ?????? */	public DialogFib(Frame parent, String title, boolean isModal) {		super(parent, title, isModal);	}	public void dialog() {		/* (12): ????????? ??????????, ??????? ???????????? ?????? 		   ??????? */		int m = 3;		setLayout(new GridLayout(2, 1));		Panel panel = new Panel();		panel.add(new Label("Number fib"));		tf = new TextField(m);		tf.setText(temp);		panel.add(tf);		add(panel);		Panel okPanel = new Panel();		okPanel.add(new Button("OK"));		add(okPanel);		pack();		show();	}	public boolean action(Event evt, Object arg) {		if (evt.target instanceof Button) {			temp = tf.getText();			nf = new Integer(temp).intValue();			/* (13): ??????????? ????????. ??? ????? ?????? ???.						   ?? ??????? ?????? ????. ???? ???? ??????? ???????			   ??????? ????? (??? ???????? ????? ??????????			   ?? ?????? ? ??????????? long -- ??? ???? ?????????			   ????????????????? ?????), ?? ?????????? ??? ????			   ?????? ? ?????????? ?? ??????, ?????? ??? ?????			   ???????????? ?? ??????????? MessageBox, ? 			   ?????? ???????????? ???????????? */			hide();			if (nf > 92) {				temp = "";				new Corr("Corr number fib").corr();			}			else {				/* (14): ???????? ????? ???? ???? ????? ??????????				   ? ??????? ??????, ? ?? ??????? ???? ?????? ??				   ?????? */				new Fib(nf).fibo();				return true;			}                		}		/* (15): ?????? ????? (7) */		return super.action(evt, arg);	}	/* (16): ????? ????????? ??????? DRY */	public boolean handleEvent(Event evt) {		if (evt.id == Event.WINDOW_DESTROY) {			dispose();			return true;		}		return super.handleEvent(evt);	}}/* (17): ????? ???????? ?????? ????????, ?????? ?????????????   ???????????? MessageBox */class Corr extends Frame {	/* (18): ??? — ?????? */	public Corr(String title) {		super(title);	}	public void corr() {		Label label = new Label("Number fib < 93");		add(label);		pack();		show();		/* (19): ???????????????? ?????? ? ?????-?? ??????? 		   ???????? ??????????. Evil, pure evil. */		move(300,0);		/* (20): ? ??? ???? ?? ????? ?? ?????. ??? ??????????		   ????????? ??????????? ????:				   1. ????????? ??????? DRY		   2. ???????? ?????????? ?????? ??? ????? ???????.		      ???? ????????? ??????? ??????? ??????? ?????, ??		      ????? ?????? ?? ?????? ?????? ?????? ???????? */		new DialogFib(this, "Input Data", true).dialog();	}	/* (21): handleEvent ???????????? ? ?????? ???! */	public boolean handleEvent(Event evt) {		if (evt.id == Event.WINDOW_DESTROY) {			dispose();			return true;		}		return super.handleEvent(evt);	}}/* (22): ?????? ?????? ?????. ???? ? ???????? ??? ?????????????   ????? ???? ?? ?????????, ???????? ?? ? ?????-?????? generic   ?????????? ?????????? */class Fib {	/* (23): Predefined ???????? ???????? -- ?????????? ??????!	   ? ????? ?????????? ???????? ???????? ?????????? */	int nf;	long fib[] = new long[100];	String fibs[] = new String[100];	Fib(int nf) {		this.nf = nf;	}	public void fibo() {		fib[0] = fib[1] = 1;		for (int i = 0; i < nf; i++) {			fib[i+2] = fib[i] + fib[i+1];			/* (24): ?????????????? ????? ??????????? ? ??????,			   ????? ?? ???????? .toString() ??????? */			fibs[i] = "" + fib[i];		}		new TableFib(fibs, nf).table();	}}/* (23): ? ??? ???? ?????? ??????. ???? ?????????? -- ??????    ????? ?????? ????????? ?? ????? */class TableFib extends Frame {	/* (24): ? ????? ?????????? ??????? ????? ????? ?????? 	   ?????????? */	String fibs[] = new String[100];	int nf;	TextArea tt;	/* (25): ?????? ??? ??????? */	public TableFib(String title) {		super(title);	}	/* (26): OMG! ?????? ???????????! */	public TableFib(String fibs[], int nf) {		/* (27): OMG! ????? ??????? ???????????? ?? ???????! */		this("Fibonacci table");		this.nf = nf;		/* (28): ???????? ??? ? ????, ???? ?? ??????????		   ??? ?????-?????? (? ?????????? ??? ?????? ????		   ???) */		for (int i = 0; i < nf; i++)			this.fibs[i] = fibs[i];	}	public void table() {		/* (29): ??? ?????????????? ??? ???? ???????? ??????		   ????? ????????, ????? ????????? ???????? ?????????		   ????? */		String str, Zagstr = "Number"+" Fibonacci"+"\n";		/* (30): ???????????? ????? ??????? ???????? ? ?????		   ????, ? ?? ?????????? ?????????????? ??? ?? 		   ?????????. EVIL. */		tt = new TextArea(Zagstr, 92, 30);		add(tt);		for (int i = 0; i < nf; i++) {			/* (31): ?????????, ??????? ??????? ???? ?????? ???			   ????, ????? ? ?????? ?????? ??????? ? ?????? ?????			   ????? */			if (i < 9)				str = "0" + (i+1) + " " + fibs[i] + "\n";			else				str = (i+1) + " " + fibs[i] + "\n";			tt.append(str);		}		pack();		/* (32): ????? ??????? ????????? ???? */		move(300,0);		show();	}	/* (33): ??? ?????? ???????? -- handleEvent! */	public boolean handleEvent(Event evt) {		if (evt.id == Event.WINDOW_DESTROY) {			dispose();			return true;		}		return super.handleEvent(evt);	}}/* ???, ?????, ? ??? ?????? -- ???????. */