当前位置 : 主页 > 编程语言 > 其它开发 >

java 判断一行输入是否为有效数字

来源:互联网 收集:自由互联 发布时间:2022-07-02
//使用原生的方式来判断一个字符串是否是一个有效的数字 public void checkNumber(String str){ int count = 0; //没有输入任何东西 if(str.length() == 0){ System.out.println("你什么都没输入!"); return; } //字
//使用原生的方式来判断一个字符串是否是一个有效的数字
public void checkNumber(String str){
int count = 0;

//没有输入任何东西
if(str.length() == 0){
System.out.println("你什么都没输入!");
return;
}

//字符串长度为1
else if(str.length() == 1){
if((int)(str.charAt(0)) < 48 || (int)(str.charAt(0)) > 57){
System.out.println("你输入的不是数字!只有1位还输错,什么鬼?");
return;
}
}

//输入的长度大于等于2位
else {
for(int i=0; i<str.length(); i++) {
//若出现数字、小数点和负号以外的字符,判定为非数字
if (((int) (str.charAt(i)) < 48 || (int) (str.charAt(i)) > 57) && (int) (str.charAt(i)) != 45 && (int) (str.charAt(i)) != 46) {
System.out.println("你输入的不是一个数字!字符串中出现了数字、小数点和负号以外的字符!");
return;
}
}
//第1位是小数点
if((int)(str.charAt(0)) == 46){
System.out.println("你输入的不是一个数字!第1位就是小数点,什么鬼?");
return;
}
//第1位是负号
else if((int)(str.charAt(0)) == 45){
//第2位是负号
if((int)(str.charAt(1)) == 45){
System.out.println("你输入的不是一个数字!前两个字符都是负号!");
return;
}
else{
//原字符串去掉第一位
str = str.substring(1);
checkNumber(str);
return;
}
}

//第1位是0
else if((int)(str.charAt(0)) == 48) {
//第2位不是小数点
if ((int) (str.charAt(1)) != 46) {
System.out.println("你输入的不是一个数字!第一位是0,但是第二位不是小数点!");
return;
}
//第1位是0,第2位是小数点,但后面没数字了
else if ((int) (str.charAt(1)) == 46 && str.length() == 2) {
System.out.println("你输入的不是一个数字!第一位是0,第二位是小数点,但没有第3位了!");
return;
}
//第1位是0,第2位是小数点,第3位还有字符
else {
for (int i = 2; i < str.length(); i++) {
if ((int) (str.charAt(i)) < 48 || (int) (str.charAt(i)) > 57) {
System.out.println("你输入的不是一个数字!第一位是0,第二位是小数点,但第3位之后出现了非数字字符!");
return;
}
}
}
}

//第一位是1-9的数字
else {
for(int i=1; i<str.length(); i++) {
//如果第2位之后出现了非数字
if ((int) (str.charAt(i)) < 48 && (int) (str.charAt(i)) > 57) {
//如果第2位之后出现了不是小数点的非数字
if((int) (str.charAt(i)) != 46) {
System.out.println("你输入的不是一个数字!第二位以后出现了数字和小数点之外的字符!");
return;
}
//如果第2位之后发现小数点
else {
count++;
if(count == 2) {
System.out.println("你输入的不是一个数字!第二位以后出现了至少两个小数点!");
return;
}
}
}
}
}
}

//以上判定不是有效数字的情况都未发生
System.out.println("Very Good!你输入的是一个有效数字!");
}
}
上一篇:prism journal导航按钮的可用性探索记录
下一篇:没有了
网友评论