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

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

另:0100,0x100是int类型,不会报错,convert方法参数题目给的是int类型,是给定的方法,要写的是方法里的代码,之后题目是由系统判定给分,系统会用一大堆实例去检测这个方法,不可以去修改方法模型
...全文
1520 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
郑涛 2013-12-05
  • 打赏
  • 举报
回复
jdk7: 0b开头可以表示二进制. 方法签名已经经过编译不可改变,你以0xA和10调用方法,编译后的class不变. 答案就是楼主奇思妙想不断,但我认为你的奇思妙想实现不了,也不应该实现(逻辑不对)
Test_LD 2013-12-05
  • 打赏
  • 举报
回复
引用 8 楼 oh_Maxy 的回复:
[quote=引用 5 楼 rui888 的回复:] 说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。
5L说的有道理,既然方法不能改,就在入口把好关。如果从头到尾都是int型传递的,那就。。真没辙了,毕竟8进制16进制都是合法的整数啊。。[/quote] 我回复的说的很清楚,入口不是我控制的,方法内可能的确解决不了,感觉jdk应该提供能识别int类型进制的方法
oh_Maxy 2013-12-05
  • 打赏
  • 举报
回复
引用 5 楼 rui888 的回复:
说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。
5L说的有道理,既然方法不能改,就在入口把好关。如果从头到尾都是int型传递的,那就。。真没辙了,毕竟8进制16进制都是合法的整数啊。。
wuer0520 2013-12-05
  • 打赏
  • 举报
回复
可不可用在方法中先转成字符串,然后用正则比较是否是16进制和8进制,是的话转成2进制啊
Test_LD 2013-12-05
  • 打赏
  • 举报
回复
引用 5 楼 rui888 的回复:
说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。
convert方法参数题目给的是int类型,是给定的方法,我要写的是方法里的代码,之后题目是由系统判定给分,系统会用一大堆实例去检测这个方法,不可以去修改方法模型, 题目提交上去题目系统会去调用这个方法,题目系统传进来的参数我不好改,系统只会根据实例测试这个方法,最后自动给出分数,如果自己改方法参数类型系统实例提供的int类型参数就穿不进来出错了
tony4geek 2013-12-05
  • 打赏
  • 举报
回复
说的好复杂,一个头一个尾 。总有个一个地方。出去进来。你把转换 正则搞。
Test_LD 2013-12-05
  • 打赏
  • 举报
回复
引用 3 楼 oh_Maxy 的回复:
0开头的表示8进制整数,0x开头表示16进制整数,如果入参为int型,是无法判别的。 建议LZ将入参类型改成String,然后用正则表达式"[1-9]\\d*"判断入参合法性即可。
引用 2 楼 zhzwsjc1000 的回复:
考虑下用正则表达式来过滤掉0x或者0是否可以!
如果参数要是String类型也就没什么好说的了,就是因为参数是int 给出的值又不好确定进制,要想办法能识别出进制,int类型不好用正则表达式
oh_Maxy 2013-12-05
  • 打赏
  • 举报
回复
0开头的表示8进制整数,0x开头表示16进制整数,如果入参为int型,是无法判别的。 建议LZ将入参类型改成String,然后用正则表达式"[1-9]\\d*"判断入参合法性即可。
大大点点 2013-12-05
  • 打赏
  • 举报
回复
考虑下用正则表达式来过滤掉0x或者0是否可以!
xiesisi3 2013-12-05
  • 打赏
  • 举报
回复
			int a = 0x100;
			System.out.println(new Integer(a).intValue() + "<------------");

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧