//
/* ---------------------------------------------------------------------------------------------- complement.java 補数 ver. 2.00 (JDK 1.02) ueyama@infonet.co.jp 2007.07.20 ---------------------------------------------------------------------------------------------- */ import java.applet.Applet; import java.awt.*; import java.util.*; public class complement extends Applet { int Bin; // 数値 int Cbin, Cdec; // 補数の値 int Cb=2, Cd=10; // 補数モード int M; // 表示モード (0: 加算 1: 減算) int Bx=140, Dx=540, By=10; // 数値表示座標 int Y[][]={{4, 10, 46, 90}, {40, 46, 90, 10}}; // 数値表示 Y座標 Graphics gx,gr; Image Img; public void update(Graphics g) { paint(g); } public void init() { String s=getParameter("bgcolor"); int c=Integer.valueOf(s,16).intValue(); setBackground(new Color(c)); M=Integer.parseInt(getParameter("mode")); // 表示モードの読み込み MediaTracker mt=new MediaTracker(this); Img=getImage(getCodeBase(), getParameter("figure")); // Applet用 GIF画像ファイル mt.addImage(Img, 0); try { mt.waitForID(0); } catch(InterruptedException e){}; gr=getGraphics(); Random r=new Random(); Bin=Math.abs(r.nextInt())%128+128; // 数値初期値を 128〜255 の範囲で乱数で発生 } public boolean inside(int n, int a, int b) { return (n<=Math.max(a,b) && n>=Math.min(a,b)) ? true:false; } public String dec2str(int n, int d) // 10進数nのd進数文字列化 { String s=Integer.toString(n, d); return s; } public int num2com(int m, int n) // m をnの補数にする { int i,j,l; String s=dec2str(m, (n<3)?2:10); l=s.length(); for(i=0,j=1; i戻る0) Bin=k; repaint(); } if(my>155 && inside(mx,140,652)) // ラジオボタンをクリック { if(inside(mx,140,222) && Cb== 1) Cb= 2; if(inside(mx,230,312) && Cb== 2) Cb= 1; if(inside(mx,480,562) && Cd== 9) Cd=10; if(inside(mx,570,652) && Cd==10) Cd= 9; repaint(); } return true; } } //