import java.applet.Applet; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class lahutamine extends Applet implements ActionListener{ TextField text1=new TextField("5 "); TextField text2=new TextField("5 "); Button nupp=new Button(" OK "); public void init(){ add(text1); add(text2); add(nupp); nupp.addActionListener(this); text1.addActionListener(this); text2.addActionListener(this); } private void joonistaNr(Graphics g, String nr, int x, int y) { for(int i=0;i < nr.length(); i++) { g.setColor(Color.blue); g.fillRect(x+i*(30+5), y, 30, 30); g.setColor(Color.white); g.drawString(nr.substring(i,i+1),x+i*(30+5)+5, y+25); } } private void joonistaNr(Graphics g, int[] nr, int x, int y) { g.setFont(new Font("minu",Font.BOLD,10)); for(int i=0;i < nr.length; i++) { g.setColor(Color.blue); g.fillRect(x+i*(30+5), y, 30, 30); g.setColor(Color.white); if (nr[i] != 0) { g.drawString((new Integer(nr[i])).toString(),x+i*(30+5)+10, y+25); } } g.setFont(new Font("minu",Font.BOLD,20)); } private void joonistaLoendur(Graphics g, int l) { g.setColor(Color.blue); g.fillRect(300, 100, 30, 30); g.setColor(Color.black); g.drawString((new Integer(l)).toString(),300+5, 100+25); } private String tyhikudEtte(String s1, String s2) { if (s1.length() < s2.length()) { String s=""; for(int i=0;i< (s2.length()-s1.length());i++) { s = s + " "; } s1 = s + s1; } return s1; } public void actionPerformed(ActionEvent e){ String ssuurem = text1.getText().trim(); String svaiksem = text2.getText().trim(); int isuurem=Integer.parseInt(ssuurem); int ivaiksem=Integer.parseInt(svaiksem); int loendur = 0; if (ivaiksem > isuurem) { int it = ivaiksem; String st = svaiksem; ivaiksem = isuurem; svaiksem = ssuurem; isuurem = it; ssuurem = st; } int ylal[] = new int[ssuurem.length()]; for(int n=0; n < ylal.length; n++) ylal[n] = 0; String sylal = ""; int vahe=isuurem-ivaiksem; String svahe=(new Integer(vahe)).toString(); svaiksem = tyhikudEtte(svaiksem,ssuurem); svahe = tyhikudEtte(svahe,ssuurem); sylal = tyhikudEtte(sylal,ssuurem); Graphics g=this.getGraphics(); g.setFont(new Font("minu",Font.BOLD,20)); g.setColor(Color.white); g.fillRect(0, 0, getSize().width, getSize().height); joonistaNr(g, ylal,100, 65); joonistaNr(g, ssuurem,100, 100); joonistaNr(g, svaiksem,100, 135); joonistaNr(g, tyhikudEtte("",ssuurem),100, 170); try{Thread.sleep(1000);}catch(Exception ex){} //oodatakse veidi for(int l=(ssuurem.length()-1); l >= 0; l--) { // joonistame loenduri joonistaLoendur(g,++loendur); if (ssuurem.charAt(l) < svaiksem.charAt(l)) { if(svaiksem.charAt(l) != ' ') { if (ylal[l] > 0) { try{Thread.sleep(1000);}catch(Exception ex){} //oodatakse veidi ylal[l] = 0; } else { int m = l-1; while (ssuurem.charAt(m) == '0') { m--; } for(int n=m;n <= l;n++) { if (n==m) { ylal[n] = -1; } else if (n==l) { ylal[n] = +10; } else { ylal[n] = +9; } } for(int n=l+1; n < ssuurem.length(); n++) ylal[n] = 0; joonistaNr(g, ylal,100, 65); joonistaNr(g, ssuurem,100, 100); joonistaNr(g, svaiksem,100, 135); joonistaNr(g, tyhikudEtte(svahe.substring(l),ssuurem),100, 170); try{Thread.sleep(3000);}catch(Exception ex){} //oodatakse veidi // joonistame loenduri } } else { try{Thread.sleep(1000);}catch(Exception ex){} //oodatakse veidi // joonistame loenduri ylal[l] = 0; } } joonistaNr(g, ylal,100, 65); joonistaNr(g, ssuurem,100, 100); joonistaNr(g, svaiksem,100, 135); joonistaNr(g, tyhikudEtte(svahe.substring(l),ssuurem),100, 170); ylal[l] = 0; try{Thread.sleep(1000);}catch(Exception ex){} //oodatakse veidi } joonistaNr(g, ylal,100, 65); joonistaNr(g, ssuurem,100, 100); joonistaNr(g, svaiksem,100, 135); joonistaNr(g, tyhikudEtte(svahe,ssuurem),100, 170); } }