-------------------------------------------------------------------------------------------------------- 
//八进制或十辣进制转换成十进制I 
public String goto_10(String s,long l) 
//参数s: 是要转换的字符串,由于输入的控制,保证了字符串的合法性; 
//参数l: 使用来设置是将8进制还是16进制转换成10进制,它的有效值为8或16; 
{ String str=s; //用来转换的字符串 
long j=l; //表示进制 
long lg=0,jing=1;//lg用来记录权乘和,jing用来记录位权 
char cha;//临时记录要转换的字符 
for(int i=1;i<=str.length();i++) 
{ cha=str.charAt(str.length()-i); 
switch(cha) 
{ case '1': lg=lg+1*jing;break; 
case '2': lg=lg+2*jing;break; 
case '3': lg=lg+3*jing;break; 
case '4': lg=lg+4*jing;break; 
case '5': lg=lg+5*jing;break; 
case '6': lg=lg+6*jing;break; 
case '7': lg=lg+7*jing;break; 
case '8': lg=lg+8*jing;break; 
case '9': lg=lg+9*jing;break; 
case 'A': lg=lg+10*jing;break; 
case 'B': lg=lg+11*jing;break; 
case 'C': lg=lg+12*jing;break; 
case 'D': lg=lg+13*jing;break; 
case 'E': lg=lg+14*jing;break; 
case 'F': lg=lg+15*jing;break;} 
jing*=j; //位权升一级,为下次使用做好准备 
} 
return Long.toString(lg); 
}//end String goto_10() method 
} 
(2)程序流程图 
三、详细设计 
import java.awt.*; 
import java.awt.event.*; 
class This_number_too_big extends Exception 
{}//自定义的一个结果溢出异常类 
class Jsp2003 extends Frame implements ItemListener,ActionListener { 
public Jsp2003() { 
addWindowListener(new WindowAdapter() { 
public void windowClosing(WindowEvent e) { 
dispose(); 
System.exit(0); 
} 
}); 
} 
static Jsp2003 mainFrame = new Jsp2003(); 
static Label lab=new Label("0"); 
static Panel pnl1=new Panel(new GridLayout(4,3,3,3)); 
static Panel pnl2=new Panel(new GridLayout(4,1,3,3)); 
static Panel pnl3=new Panel(new GridLayout(1,2,3,3)); 
static Panel pnl4=new Panel(new GridLayout(6,1,3,3)); 
static Button bt9=new Button("9"); 
static Button bt8=new Button("8"); 
static Button bt7=new Button("7"); 
static Button bt6=new Button("6"); 
static Button bt5=new Button("5"); 
static Button bt4=new Button("4"); 
static Button bt3=new Button("3"); 
static Button bt2=new Button("2"); 
static Button bt1=new Button("1"); 
static Button bt0=new Button("0"); 
static Button btdot=new Button("."); 
static Button btequ=new Button("="); 
static Button btadd=new Button("+"); 
static Button btsub=new Button("-"); 
static Button btmul=new Button("*"); 
static Button btdev=new Button("/"); 
static Button btA=new Button("A"); 
static Button btB=new Button("B"); 
static Button btC=new Button("C"); 
static Button btD=new Button("D"); 
static Button btE=new Button("E"); 
static Button btF=new Button("F"); 
static Checkbox ckb8=new Checkbox("八进制"); 
static Checkbox ckb10=new Checkbox("十进制"); 
static Checkbox ckb16=new Checkbox("十辣进制"); 
static Button btc=new Button("clear"); 
static Button btt=new Button("backspace"); 
public int number=0,length=18; 
//number是用来记录输入的数字个数,length是用来设置在不同进制下允许输入的最多数字位数,默认为十进制 
public char mark='n'; //设置运算符号为没有即为‘n’,它的值是‘+’‘-’‘*’‘/’ 
public double data=0; //设置运算数据为零 
public char ch; //用来临时存放所按按钮的第一个字符
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页