if (hasDot == true) { double temp = Double.parseDouble(s); temp = temp / 100.0; tResult.setText(Double.toString(temp)); } else { if (Integer.parseInt(s) % 100 == 0) { int itemp = Integer.parseInt(s); itemp = itemp / 100; tResult.setText(Integer.toString(itemp)); } else { double dtemp = Double.parseDouble(s); dtemp = dtemp / 100.0; tResult.setText(Double.toString(dtemp)); } } } // Sqrt
if (eSrc == btnSqrt && canClick == true) { String s = tResult.getText(); if (s.charAt(0) == '-') { tResult.setText(\注意:负数不可开根号\ canClick = false; } else tResult.setText(Double.toString(Math .sqrt(Double.parseDouble(s)))); }
// 求倒数
if (eSrc == btnReciprocal && canClick == true) { String s = tResult.getText(); if (s.charAt(0) == '0' && s.length() == 1) { tResult.setText(\注意:0不能求倒数\
canClick = false; } else { boolean hasDot = false; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '.') { hasDot = true; break; } } if (hasDot == true) { double dtemp = Double.parseDouble(s); dtemp = 1.0 / dtemp; tResult.setText(Double.toString(dtemp));
} else { int itemp = Integer.parseInt(s); double dtemp = 1.0 / (double) itemp; tResult.setText(Double.toString(dtemp)); } } }
// “+/-”
if (eSrc == btnSign && canClick == true) { boolean isNum = true; String s = tResult.getText(); for (int i = 0; i < s.length(); i++) { if (!(s.charAt(i) >= '0' && s.charAt(i) <= '9' || s.charAt(i) == '.' || s.charAt(i) == '-')) { isNum = false; break; } } if (isNum == true) { if (s.charAt(0) == '-') { tResult.setText(\ for (int i = 1; i < s.length(); i++) { char ch = s.charAt(i); tResult.setText(tResult.getText() + ch); } } else tResult.setText(\ } }
// “BackSpace”
if (eSrc == btnBK && canClick == true) { String s = tResult.getText(); tResult.setText(\ for (int i = 0; i < s.length() - 1; i++) { char ch = s.charAt(i); tResult.setText(tResult.getText() + ch); } } // “C”
if (eSrc == btnC) { tempResult = 0; result = 0; tResult.setText(\ canClick = true;
}
}
}//end method actionPerformed
public static void main(String[] args) { new SimpleCalculator(); }