求思路谢谢

qq_38193907 2017-04-05 05:05:27
/**
* @param args
* 键盘录入一个整数,求出这个整数的二进制
* 1,如果录入的是过大的整数,提示您录入的整数过大,请重新输入一个整数
* 2,如果录入的是小数,提示您录入的是小数,请重新输入一个整数
* 3,如果录入的是非法字符,提示您录入的是非法字符,请重新输入一个整数
*/
...全文
228 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
鱿鱼ing 2017-04-06
  • 打赏
  • 举报
回复
引用 4 楼 qq_24132699 的回复:
[quote=引用 2 楼 qq_30831935 的回复:] public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String nextLine = sc.nextLine(); if (nextLine.contains(".")) { System.out.println("您录入的是小数,请重新输入一个整数"); continue; } try { Long l = Long.valueOf(nextLine); if (-2147483648l<l&&l<2147483647l) { String binaryString = Integer.toBinaryString(Integer.valueOf(String.valueOf(l))); System.out.println(binaryString); }else { System.out.println("您录入的整数过大,请重新输入一个整数"); } } catch (Exception e) { System.out.println("您录入的是非法字符,请重新输入一个整数"); } } } 无聊写了个 不知道行不行的
纵然你各种情况都已经考虑进去了,我比你更无聊的试了一下负数,还有有问题了 , 哈哈,,[/quote] 感觉还行啊 就是位数有点长 还有上面应该是if (-2147483648l<=l&&l<=2147483647l) {
Z343012090 2017-04-06
  • 打赏
  • 举报
回复
顶,,,,,,,,,,
四月C 2017-04-06
  • 打赏
  • 举报
回复
引用 7 楼 qq_30831935 的回复:
[quote=引用 4 楼 qq_24132699 的回复:] [quote=引用 2 楼 qq_30831935 的回复:] public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String nextLine = sc.nextLine(); if (nextLine.contains(".")) { System.out.println("您录入的是小数,请重新输入一个整数"); continue; } try { Long l = Long.valueOf(nextLine); if (-2147483648l<l&&l<2147483647l) { String binaryString = Integer.toBinaryString(Integer.valueOf(String.valueOf(l))); System.out.println(binaryString); }else { System.out.println("您录入的整数过大,请重新输入一个整数"); } } catch (Exception e) { System.out.println("您录入的是非法字符,请重新输入一个整数"); } } } 无聊写了个 不知道行不行的
纵然你各种情况都已经考虑进去了,我比你更无聊的试了一下负数,还有有问题了 , 哈哈,,[/quote] 感觉还行啊 就是位数有点长 还有上面应该是if (-2147483648l<=l&&l<=2147483647l) {[/quote] 666,果然大神
qq_38193907 2017-04-05
  • 打赏
  • 举报
回复
谢谢大家了。
四月C 2017-04-05
  • 打赏
  • 举报
回复
引用 2 楼 qq_30831935 的回复:
public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String nextLine = sc.nextLine(); if (nextLine.contains(".")) { System.out.println("您录入的是小数,请重新输入一个整数"); continue; } try { Long l = Long.valueOf(nextLine); if (-2147483648l<l&&l<2147483647l) { String binaryString = Integer.toBinaryString(Integer.valueOf(String.valueOf(l))); System.out.println(binaryString); }else { System.out.println("您录入的整数过大,请重新输入一个整数"); } } catch (Exception e) { System.out.println("您录入的是非法字符,请重新输入一个整数"); } } } 无聊写了个 不知道行不行的
纵然你各种情况都已经考虑进去了,我比你更无聊的试了一下负数,还有有问题了 , 哈哈,,
mmqw 2017-04-05
  • 打赏
  • 举报
回复
需要用正则表达式校验,是整数,小数,非法数据
鱿鱼ing 2017-04-05
  • 打赏
  • 举报
回复
public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String nextLine = sc.nextLine(); if (nextLine.contains(".")) { System.out.println("您录入的是小数,请重新输入一个整数"); continue; } try { Long l = Long.valueOf(nextLine); if (-2147483648l<l&&l<2147483647l) { String binaryString = Integer.toBinaryString(Integer.valueOf(String.valueOf(l))); System.out.println(binaryString); }else { System.out.println("您录入的整数过大,请重新输入一个整数"); } } catch (Exception e) { System.out.println("您录入的是非法字符,请重新输入一个整数"); } } } 无聊写了个 不知道行不行的
angel6709 2017-04-05
  • 打赏
  • 举报
回复
这种没有意义的作业,别做了。。

62,624

社区成员

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

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