通过ASIC码判断字符串是浮点型

本文介绍了一个简单的Java程序,用于验证用户输入的字符串是否为有效的数字(整数或浮点数)。通过对ASCII码的分析,该程序能准确判断输入是否符合数字格式,并区分整数与浮点数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {

public static void main(String[] args) throws IOException {
//使用死循环,可以连续输入字符串
for (; ; ){


System.out.println("please input a string:");
BufferedReader buf =new BufferedReader(new InputStreamReader(System.in));
String inString =buf.readLine();
int k=inString.length();
byte[] a = new byte[k];
a = inString.getBytes();
int count =0;//记录小数点出现次数
boolean flag =false;
for (int i = 0; i < a.length; i++) {

if (a[i]==46) {

count++;

}
flag =false;
/*******
*
* ASIC码 0-9对应48-57,小数点对应46
*
*
*
***/
if(a[i]<=57&&a[i]>=46&&a[i]!=47&&count<=1){
flag =true;//标记最后一次循环走到这里

}else {
System.out.println(inString+"不是一个数字");
break;
}

}
if(flag==true){
//没有小数点,且首位非零
if (count==0&&a[0]!=48) {
System.out.println(inString+"是一个整数");
}
//首位是0,小数点在第二位
else if(count==1&&a[0]==48&&a[1]==46){
System.out.println(inString+"是一个浮点型数");
}
//首位非零有一个小数点
else if ((count==1&&a[0]!=48)) {
System.out.println(inString+"是一个浮点型数");
}else {
System.out.println(inString+"不是一个数字");
}
}

}
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值