A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许鹏飞 中级黑马   /  2015-12-2 18:35  /  1830 人查看  /  18 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

提示: 该帖被管理员或版主屏蔽

18 个回复

倒序浏览
收下了,感謝分享
回复 使用道具 举报
写的很好!
回复 使用道具 举报
面试题分析下~~~
回复 使用道具 举报
好赞一个
回复 使用道具 举报
我来看看,最近也要考试了学习下
回复 使用道具 举报
收藏。。。。
回复 使用道具 举报
remix7 中级黑马 2015-12-3 22:04:06
8#
下了学一下~共勉!
回复 使用道具 举报
我也做了面试题,但是和这个不一样,有个别挺相似的
回复 使用道具 举报
我的题目和你的稍微有点不同,我有4题和你一样,我也是满分,就剩面试环节了
哥们,你把题目贴出来了,小心圣尊删你贴
回复 使用道具 举报
我做的第7题
  1. package com.itheima;
  2. /**
  3. * 6、 将字符串中进行反转。abcde --> edcba
  4. * */
  5. public class Test6 {
  6.         public static void main(String[] args) {
  7.                 String str = "abcde";
  8.                 System.out.println("反转前:"+str);
  9.                 //把字符串存入StringBuilder中,然后通过reverse方法来反转字符串
  10.                 str = new StringBuilder(str).reverse().toString();
  11.                 System.out.println("反转后:"+str);
  12.         }
  13. }
复制代码

第9题:
  1. package com.itheima;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. /**
  6. 9、 编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。
  7. 这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,
  8. 还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,
  9. 接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,
  10. 只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),
  11. 就很容易理解十进制数转二进制数的这种方式。
  12. */
  13. public class Test9 {
  14.         public static void main(String[] args) throws IOException {
  15.                 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));        //键盘录入
  16.                 String value = br.readLine();//录入信息
  17.                 if(value.matches("\\d+")){        //判断字符串是不是数字字符
  18.                         if(Long.parseLong(value)<=Integer.MAX_VALUE){        //判断是否超出了int范围
  19.                                 int num = Integer.parseInt(value);
  20.                                 StringBuilder sb = new StringBuilder();        //建立一个字符缓冲区,用于存储2进制
  21.                                 while(num>0){
  22.                                         sb.append(num%2);        //存入余数
  23.                                         num/=2;        //每次除以2
  24.                                 }
  25.                                 System.out.println(sb.reverse().toString());        //打印输出
  26.                         }
  27.                         else{
  28.                                 System.out.println("数字太大,已经超出了int最大值范围!");
  29.                         }
  30.                 }
  31.                 else{
  32.                         System.out.println("输入的数字非法!");
  33.                 }
  34.         }
  35. }
复制代码

点评

第九题也不错,我用了异常,个人觉得你的方法更简便用了正则表达式,然后直接比较long和int最大值,,不错!  发表于 2015-12-4 12:12
要自己定义反转方法吧!  发表于 2015-12-4 12:10
回复 使用道具 举报
谢谢谢分享
回复 使用道具 举报
谢谢分享  收藏了
回复 使用道具 举报
好评,很关键!!!
回复 使用道具 举报
我来看看,最近也要考试了学习下
回复 使用道具 举报
面试题就是入学考试题?
回复 使用道具 举报
面试题..
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马