问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java,让用户输入一个数,判断用户输入的是否为数字,为什么一下代码结果一直为false。

发布网友 发布时间:2022-04-30 03:43

我来回答

2个回答

热心网友 时间:2023-10-10 02:53

1、这个原因需要查看Character.isDigit(a)的源码

可以看到,源码中,是直接调用getType(codePoint)去和Character.DECIMAL_DIGIT_NUMBER;做比较,判断如果相同就是数字,

那么这个内置参数值是什么?

找一下定义

可以看到这个参数是9;

那么直接传数字进来的时候,数字的getType()是多少?

写了一个测试代码,可以看到数字的type 是15,就知道,直接传int数肯定是false,

你的代码,虽然写错,想必你的思路是把数字强制转换成char c = (char)a;

但是,强制转换之后是什么?

从测试代码可以看出,(char)a 还是15.type没有改变,但是传递进来char c,数字5的type就是9,就会返回true。

因此,这个函数需要传递char 字符判断,而且还不能强制转换数字过去。

1、改成这样,获取一个字符,不要把数字转成

public static void main(String[] args) {
System.out.println("请输入一个数字:");
Scanner in = new Scanner(System.in);
int a = in.nextInt();
System.out.println("a type="+ Character.getType(a));
System.out.println("(char)a type="+ Character.getType((char)a));
System.out.println("Character.DECIMAL_DIGIT_NUMBER "+Character.DECIMAL_DIGIT_NUMBER);
System.out.println("请输入一个字符:");
char c =in.next().charAt(0);
System.out.println("c type ="+Character.getType(c));
System.out.println(Character.isDigit(a));
System.out.println(Character.isDigit(c));

}

追问谢了,辛苦了!

热心网友 时间:2023-10-10 02:54

你的数字要是在48-57就是TURE了,因为这个是数字的字符值。追问可以的大神,那再麻烦您再讲一下该如何修改嘛

追答这个是ASC II的编码标准,48~57就是数字0~9,加个条件,让其判断一下就可以了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Hive笔记 Hive-元数据 英语low是什么意思 Low low 的是什么意思? 如何打开电脑设置的打印机电脑打印设置在哪里打开 使用电脑打印机怎么设置打印机和电脑怎样连接该如何设置 win10打印机设置在哪里 win10打印机设置方法介绍 怎么在电脑上设置打印机在电脑上怎么找打印机设置 怎样为电脑设置打印机电脑里打印机设置在哪 电脑打印机在哪里设置电脑上的打印机在哪里 Java作业:输入一个数字判断他是奇数还是偶数 java中如何输入一个数字,这个数字最大为1,000,000,000。请指教 java 要求输入一个数字(例如2)如果无效要求重新输入,输入第二个数字(0-3) java中怎样输入一个数字,然后再把它输出? 用java语言怎么实现从键盘输入一个数 java怎么输入数据 JAVA里怎么输入一个数 (java编程) 输入一个数字,则输出其加法表 比如输入5,则输出 0+5=5 1+4=5 2+3=5 3+2=5 4+1=5 5+0=5 java中怎么输入一个数字 Java中,“系统弹出窗口:请输入一个数字”怎么编写? java中怎么输入一个数字? 有谁现在一个人在喝酒啊。一人饮酒我独醉? EXCEL表格中日期差值怎么算 光生七岁光生七岁,凛然如成人,闻讲《左氏春秋》 众皆弃去,中的去的意思是什么? 众皆弃去光持石击瓮,破之,水迸儿得活中皆是什么意思? 众皆弃去的去是什么意思 众皆弃去的弃去是什么意思?。 2021年度广东省高级会计师参加评审人数 糖尿病病人的一天食谱该怎样安排? java请输入数字,将其存入数组中 java 通过键盘输入一个数字并用if else 判断。 java 中怎么得到输入的一个数字是几位数 华为手机显示wifi连接却没网 华为不能连接wifi是怎么回事 才买的华为手机,搜索到的WiFi后面都有不可上网!是什么问题? 如何把桥梁博士计算书模板生成的计算书转成word形式 桥梁圆柱模板计算 桥梁设计用什么软件可以自动生成计算书 纸桥结构设计计算书 桥梁墩间系梁计算公式? 如何计算桥梁支架满堂式钢管支架的工程量 谁有例子的计算过程 求25m先张法预应力简支空心板桥梁计算书,有全套图纸更好...希望大家能帮帮小弟!!! 小弟先谢谢各位了!!! 桥梁钢模板每平方大致重量 简支桥梁的设计计算包括哪些内容 桥梁设计的桩长计算书要按啥步骤才能算出来?需要啥资料? 怎样计算桥梁预应力空心板梁的模板工程量? 桥梁博士计算书如何转化为word 公路桥梁的荷载计算 桥梁配筋计算。