📄 jisuanqi.java
字号:
{ text.setText("0."); clear=true; first=1; } if (temp==c) { text.setText("0."); clear=true; first=1; } if(temp==num0) { if(clear==false)//判断是否点击了符号位 text.setText(""); text.setText(text.getText()+"0"); } if(temp==num1) { if(clear==false) text.setText(""); text.setText(text.getText()+"1"); clear=true;//第二次不在清空(前二句) } if(temp==num2) { if(clear==false) text.setText(""); text.setText(text.getText()+"2"); clear=true; } if(temp==num3) { if(clear==false) text.setText(""); text.setText(text.getText()+"3"); clear=true; } if(temp==num4) { if(clear==false) text.setText(""); text.setText(text.getText()+"4"); clear=true; } if(temp==num5) { if(clear==false) text.setText(""); text.setText(text.getText()+"5"); clear=true; } if(temp==num6) { if(clear==false) text.setText(""); text.setText(text.getText()+"6"); clear=true; } if(temp==num7) { if(clear==false) text.setText(""); text.setText(text.getText()+"7"); clear=true; } if(temp==num8) { if(clear==false) text.setText(""); text.setText(text.getText()+"8"); clear=true; } if(temp==num9) { if(clear==false) text.setText(""); text.setText(text.getText()+"9"); clear=true; } if(temp==aa) { text.setText(text.getText()+"A"); } if(temp==bb) { text.setText(text.getText()+"B"); } if(temp==cc) { text.setText(text.getText()+"C"); } if(temp==dd) { text.setText(text.getText()+"D"); } if(temp==ee) { text.setText(text.getText()+"E"); } if(temp==ff) { text.setText(text.getText()+"F"); } if(temp==dian) { clickable=true; for (int i = 0; i < text.getText().length(); i++) if ('.' == text.getText().charAt(i)) { clickable=false; break; } //第一层判断是否里面含有小数点; if(clickable==true)//第二坛判断 text.setText(text.getText()+"."); } try { if(temp==jia) {//加法 qian=Double.parseDouble(text.getText()); fuhao="+"; clear=false; } if(temp==jian) { qian=Double.parseDouble(text.getText()); fuhao="-"; clear=false; } if(temp==cheng) { qian=Double.parseDouble(text.getText()); fuhao="*"; clear=false; } if(temp==chu) { qian=Double.parseDouble(text.getText()); fuhao="/"; clear=false; } if(temp==deng) { double ss=Double.parseDouble(text.getText()); text.setText(""); if(fuhao == "+") text.setText(qian+ss+""); if(fuhao=="-") text.setText(qian-ss+""); if(fuhao=="*") text.setText(qian*ss+""); if(fuhao=="/") text.setText(qian/ss+""); clear=false;//要清空前一次的数据 } if(temp==kai) { String s = text.getText(); if (s.charAt(0) == '-') { text.setText("负数不能开根号"); } else text.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(text.getText())))); clear=false; } if(temp==diao) { if (text.getText().charAt(0) == '0'&&text.getText().length() == 1) { text.setText("除数不能为零"); } else { boolean isDec = true; int i, j, k; String s = Double.toString(1 / Double.parseDouble(text.getText())); for (i = 0; i < s.length(); i++) if (s.charAt(i) == '.') break; for (j = i + 1; j < s.length(); j++) if (s.charAt(j) != '0') { isDec = false; break; } if (isDec == true) { String stemp = ""; for (k = 0; k < i; k++) stemp += s.charAt(k); text.setText(stemp); } else text.setText(s); } clear=false; } if(temp==qiuyi) { text.setText("0"); clear=false; } if (temp == fu) { //导师,此方法参考书中例子 boolean isNumber = true; String s = text.getText(); for (int i = 0; i < s.length(); i++) if (! (s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' || s.charAt(i) == '-')) { isNumber = false; break; } if (isNumber == true) { //如果当前字符串首字母有'-'号,代表现在是个负数,再按下时,则将首符号去掉 if (s.charAt(0) == '-') { text.setText(""); for (int i = 1; i < s.length(); i++) { char a = s.charAt(i); text.setText(text.getText() + a); } } //如果当前字符串第一个字符不是符号,则添加一个符号在首字母处 else text.setText('-' + s); } } }catch(Exception eee){ System.out.println("运算时,首先输入数字或字符"); text.setText("运算出错"); clear=false;} }class WindowDestroyer extends WindowAdapter{//退出窗口动作 public void windowClosing(WindowEvent e) { System.exit(0); }}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; }}public static void main(String arg[])//产生窗口{ JiSuanQi win = new JiSuanQi(); win.setVisible(true);}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -