⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counter.java

📁 java做的一个计算器程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
{ 

tf1.setText("除数不能为零"); 
} 
else 
{ 
tf1.setText(""+(1/x)); 
} 
str.setLength(0); 
y=0d; 
} 
else if(e2.getSource()==b3)//MC为清除内存 
{ 
m=0d; 
tf2.setText(""); 
str.setLength(0); 
} 
else if(e2.getSource()==b4)//MR为重新调用存储的数据 
{ 
if(tf2.getText().trim()!="")//有记忆数字 
{ 
tf1.setText(""+m); 
} 
} 
else if(e2.getSource()==b5)//MS为存储显示的数据 
{ 


m=Double.parseDouble(tf1.getText().trim()); 
tf2.setText("M"); 
tf1.setText("0"); 
str.setLength(0); 
} 
else if(e2.getSource()==b6)//M+为将显示的数字与已经存储的数据相加要查看新的数字单击MR 
{ 
m=m+Double.parseDouble(tf1.getText().trim()); 
} 
else//选择的是其他的按钮 
{ 
if(e2.getSource()==b22)//如果选择的是"0"这个数字键 
{ 
if(tf1.getText().trim().equals("0"))//如果显示屏显示的为零不做操作 
{ 

} 
else 
{ 
tf1.setText(str.append(e2.getActionCommand()).toString()); 
y=Double.parseDouble(tf1.getText().trim()); 
} 
} 
else if(e2.getSource()==b0)//选择的是“BackSpace”按钮 
{ 
if(!tf1.getText().trim().equals("0"))//如果显示屏显示的不是零 
{ 
if(str.length()!=1) 
{ 
tf1.setText(str.delete(str.length()-1,str.length()).toString());//可能抛出字符串越界异常 
} 
else 
{ 
tf1.setText("0"); 
str.setLength(0); 
} 
} 
y=Double.parseDouble(tf1.getText().trim()); 
} 
else//其他的数字键 
{ 
tf1.setText(str.append(e2.getActionCommand()).toString()); 
y=Double.parseDouble(tf1.getText().trim()); 
} 
}

} 
catch(NumberFormatException e){ 
tf1.setText("数字格式异常"); 
} 
catch(StringIndexOutOfBoundsException e){ 
tf1.setText("字符串索引越界"); 
} 
}

  	
  }

 class nt implements ItemListener
 {
 	public void itemStateChanged(ItemEvent e3) 
{
	try{
		if(e3.getSource()==c4){
    String hex=tf1.getText();
   int inthex=Integer.parseInt(hex,jin);//先把数变为10进制  
   tf1.setText(convert.decHex(inthex)) ;
   jin=16;
   b27.setEnabled(true);
   b28.setEnabled(true);
   b29.setEnabled(true);
   b30.setEnabled(true);
   b31.setEnabled(true);
   b32.setEnabled(true);
   b18.setEnabled(true);
   b19.setEnabled(true);
   b12.setEnabled(true);
   b13.setEnabled(true);
   b14.setEnabled(true);
   b7.setEnabled(true);
   b8.setEnabled(true);
   b9.setEnabled(true);
 
  }
  if(e3.getSource()==c3)
  {
   String oct =tf1.getText();
   int intoct=Integer.parseInt(oct,jin);  
   tf1.setText(convert.decOct(intoct)) ;
   jin=8;
   
   b27.setEnabled(false);
   b28.setEnabled(false);
   b29.setEnabled(false);
   b30.setEnabled(false);
   b31.setEnabled(false);
   b32.setEnabled(false);
   b18.setEnabled(true);
   b19.setEnabled(true);
   b12.setEnabled(true);
   b13.setEnabled(true);
   b14.setEnabled(true);
   b7.setEnabled(true);
   b8.setEnabled(false);
   b9.setEnabled(false);
  }
  if(e3.getSource()==c2)
  {
   String bin=tf1.getText();
   int intbin=Integer.parseInt(bin,jin);
   tf1.setText(convert.decBin(intbin));
   jin=2;
   
    b27.setEnabled(false);
   b28.setEnabled(false);
   b29.setEnabled(false);
   b30.setEnabled(false);
   b31.setEnabled(false);
   b32.setEnabled(false);
   b18.setEnabled(false);
   b19.setEnabled(false);
   b12.setEnabled(false);
   b13.setEnabled(false);
   b14.setEnabled(false);
   b7.setEnabled(false);
   b8.setEnabled(false);
   b9.setEnabled(false);
 
  }
  if(e3.getSource()==c1)
  {
   String dec=tf1.getText();
   int intdec=Integer.parseInt(dec,jin);
  // text.setText(convert.decDec(intdec));  //本句会把123变成321
   tf1.setText(intdec+"");
   jin=10;
   b27.setEnabled(false);
   b28.setEnabled(false);
   b29.setEnabled(false);
   b30.setEnabled(false);
   b31.setEnabled(false);
   b32.setEnabled(false);
   b18.setEnabled(true);
   b19.setEnabled(true);
   b12.setEnabled(true);
   b13.setEnabled(true);
   b14.setEnabled(true);
   b7.setEnabled(true);
   b8.setEnabled(true);
   b9.setEnabled(true);
  }
  
	}
   catch(Exception ee)
  {
   System.out.println("转换出错,可能你没有输入任何字符");
   tf1.setText("转换出错");
   
  }
  }
 }

public static void main(String args[]) 
{ 
new Counter(); 
} 
class objConversion
{//导师,本进制类参考了CSMD类转换例子
 
 public void objConversion ()
 {
 }
 
 public String decDec (int decNum)
 {//10
  
  String strDecNum = Integer.toString(decNum);
  
  for (int i = strDecNum.length(); i < 3; i++)
  {
   strDecNum = "0" + strDecNum;
  }
  
 // return strDecNum;
  return invert (strDecNum, 5);
  
 }
 
 public String decHex (int decNum)
 {//10 to 16
  
  String strHexNum = "";
  int currentNum = 0;
  
  while (decNum != 0)
  {
   
   if (decNum > 15)
   {
    
    currentNum = decNum % 16;
    decNum /= 16;
    
   }
   else
   {
    
    currentNum = decNum;
    decNum = 0;
    
   }
   
   switch (currentNum)
   {
    
    case 15: strHexNum += "F";
       break;
    case 14: strHexNum += "E";
       break;
    case 13: strHexNum += "D";
       break;
    case 12: strHexNum += "C";
       break;
    case 11: strHexNum += "B";
       break;
    case 10: strHexNum += "A";
       break;
    default: strHexNum += Integer.toString(currentNum);
       break;
       
   }
   
  }
   
  return invert (strHexNum, 2);
   
 }
  
 public String decOct (int decNum)
 {//10 to 8
  
  String strOctNum = "";
  
  while (decNum != 0)
  {
   
   if (decNum > 7)
   {
    
    strOctNum += Integer.toString(decNum % 8);
    decNum /= 8;
    
   }
   else
   {
    
    strOctNum += Integer.toString(decNum);
    decNum = 0;
    
   }
   
  }
  
  return invert (strOctNum, 3);
  
 }
 
 public String decBin (int decNum)
 {//10 to 2
  
  String strBinNum = "";
  
  while (decNum != 0)
  {
   
   if (decNum > 1)
   {
    
    strBinNum += Integer.toString(decNum % 2);
    decNum /= 2;
    
   }
   else
   {
    
    strBinNum += Integer.toString(decNum);
    decNum = 0;
    
   }
   
  }
  
  return invert (strBinNum, 8);
  
 }
 
 private String invert (String strNum, int minLength) //转换长度
 {  
  
  String answer = "";
  int length = strNum.length();
  
  if (length < minLength)
  {
   
   for (int padding = (minLength - length); padding > 0; padding--)
   {
    answer += "0";
   }
   
  }
  
  for (int i = length; i > 0; i--)
  {
   answer += strNum.charAt (i - 1);
  }
  
  return answer;
 }
}
}
 
  


 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -