当前位置:编程学习 > JAVA >>

如何识别出0开头或0x开头的int类型?

    现在是这样题目提供了String convert(int arg) 方法,参数arg只能是int类型,在方法内部要能判断出arg是否是非法输入像0或0x开头的输入就要判断出是非法参数过滤掉,只能接受正常的正整123,321,1000000,等,因为arg是要转换为大写的rmb值的,像123需要转换为"壹佰贰拾叁"输出,所以0,或0x开头的需要判断出屏蔽,之前发的贴感觉说的不够清楚没得到解答,在次补充完善,求破。。。。。。。

另:0100,0x100是int类型,不会报错,convert方法参数题目给的是int类型,是给定的方法,要写的是方法里的代码,之后题目是由系统判定给分,系统会用一大堆实例去检测这个方法,不可以去修改方法模型 --------------------编程问答--------------------
			int a = 0x100;
System.out.println(new Integer(a).intValue() + "<------------");
--------------------编程问答-------------------- 考虑下用正则表达式来过滤掉0x或者0是否可以! --------------------编程问答-------------------- 0开头的表示8进制整数,0x开头表示16进制整数,如果入参为int型,是无法判别的。
建议LZ将入参类型改成String,然后用正则表达式"[1-9]\\d*"判断入参合法性即可。 --------------------编程问答--------------------
引用 3 楼 oh_Maxy 的回复:
0开头的表示8进制整数,0x开头表示16进制整数,如果入参为int型,是无法判别的。
建议LZ将入参类型改成String,然后用正则表达式"[1-9]\\d*"判断入参合法性即可。

引用 2 楼 zhzwsjc1000 的回复:
考虑下用正则表达式来过滤掉0x或者0是否可以!


如果参数要是String类型也就没什么好说的了,就是因为参数是int 给出的值又不好确定进制,要想办法能识别出进制,int类型不好用正则表达式 --------------------编程问答-------------------- 说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。 --------------------编程问答--------------------
引用 5 楼 rui888 的回复:
说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。


convert方法参数题目给的是int类型,是给定的方法,我要写的是方法里的代码,之后题目是由系统判定给分,系统会用一大堆实例去检测这个方法,不可以去修改方法模型,

题目提交上去题目系统会去调用这个方法,题目系统传进来的参数我不好改,系统只会根据实例测试这个方法,最后自动给出分数,如果自己改方法参数类型系统实例提供的int类型参数就穿不进来出错了 --------------------编程问答-------------------- 可不可用在方法中先转成字符串,然后用正则比较是否是16进制和8进制,是的话转成2进制啊 --------------------编程问答--------------------
引用 5 楼 rui888 的回复:
说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。


5L说的有道理,既然方法不能改,就在入口把好关。如果从头到尾都是int型传递的,那就。。真没辙了,毕竟8进制16进制都是合法的整数啊。。 --------------------编程问答--------------------
引用 8 楼 oh_Maxy 的回复:
Quote: 引用 5 楼 rui888 的回复:

说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。


5L说的有道理,既然方法不能改,就在入口把好关。如果从头到尾都是int型传递的,那就。。真没辙了,毕竟8进制16进制都是合法的整数啊。。


我回复的说的很清楚,入口不是我控制的,方法内可能的确解决不了,感觉jdk应该提供能识别int类型进制的方法 --------------------编程问答-------------------- jdk7: 0b开头可以表示二进制.
方法签名已经经过编译不可改变,你以0xA和10调用方法,编译后的class不变.
答案就是楼主奇思妙想不断,但我认为你的奇思妙想实现不了,也不应该实现(逻辑不对)

补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,