import javax.swing.JOptionPane;
public class PredefinedClass {
public static void main(String[] args){
do{
String input = JOptionPane.showInputDialog("Enter a character:");
if(input.length() > 1){
JOptionPane.showMessageDialog(null,"Invalid Input. Input a character only.");
}else if(Character.isLetter(input.charAt(0))){
if(Character.isUpperCase(input.charAt(0))){
JOptionPane.showMessageDialog(null,"The character is an Uppercase letter.");
}else if(Character.isLowerCase(input.charAt(0))){
JOptionPane.showMessageDialog(null,"The character is a Lowercase letter.");
}
}else if(Character.isDigit(input.charAt(0))){
JOptionPane.showMessageDialog(null,"The character is a digit."+
"\nThe square root of "+input+" is "+Math.sqrt(input.charAt(0)));
}
}while(JOptionPane.showConfirmDialog(null,"Try again?[Y/N]","Try again?[Y/N]",JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION);
}
}
Run Code Online (Sandbox Code Playgroud)
Math.sqrt(input.charAt(0))当我尝试9它输出7.54应该是3.为什么?
input.charAt()返回字符,而不是数字的数值.这意味着你得到了'9',而不是9.该ASCII值的'9'是57,所以你最终采取的是平方根.
试试吧Math.sqrt(input.charAt(0) - '0').
如果您想使代码更通用一些,请考虑使用Integer.valueOf()或Double.valueOf()不使用查看单个字符.
| 归档时间: |
|
| 查看次数: |
955 次 |
| 最近记录: |