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

圣尊,这道题你会吗? 求解答:编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。
回复 使用道具 举报
郁金香大公爵 发表于 2015-7-29 09:23
圣尊,这道题你会吗? 求解答:编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出 ...

不知道能不能满足你
  1.                 public static void main(String[] args) throws Exception
  2.                 {
  3.                 int shang=0,yu;
  4.                 boolean flag=false;
  5.                 System.out.println("请输入一个整数字符串(最大值为<"+Integer.MAX_VALUE+"):");
  6.                 InputStream is = System.in;
  7.                 InputStreamReader isr=new InputStreamReader(is);
  8.                 BufferedReader br=new BufferedReader(isr);
  9.                 String str=br.readLine();
  10.                 char[] ch=new char[str.length()];
  11.                 str.getChars(0, str.length(), ch, 0);
  12.                 for(int a=0;a<str.length();a++)
  13.                 {
  14.                 if(!Character.isDigit(ch[a]))
  15.                 {
  16.                 System.out.println("有非数字字符");
  17.                 System.exit(0);
  18.                 }
  19.                 }
  20.                 try
  21.                 {
  22.                 shang=Integer.parseInt(str);
  23.                 flag=true;
  24.                 }
  25.                 catch(Exception e)
  26.                 {
  27.                 System.out.println("数字过大");
  28.                 }
  29.                 str="";
  30.                 if (flag)
  31.                 {
  32.                 while (shang != 0)
  33.                 {
  34.                 yu = shang % 2;
  35.                 shang = shang / 2;
  36.                 str = yu + str;
  37.                 }
  38.                 }
  39.                 System.out.println(str);
  40.                 }
复制代码
回复 使用道具 举报
耀阳圣尊 发表于 2015-7-29 10:08
不知道能不能满足你

我运行了一下代码 怎么没有结果 我想请教一下 是在哪里输入数据,进行检验
回复 使用道具 举报
耀阳圣尊 发表于 2015-7-29 10:08
不知道能不能满足你

好了 谢谢  我知道了
回复 使用道具 举报
好考吗  黑马?  心里没底啊
回复 使用道具 举报
hxxyny123 来自手机 中级黑马 2015-7-31 22:39:02
466#
技术分真的获得的好慢
回复 使用道具 举报
大神,技术分如何赚??
回复 使用道具 举报
大神你好,请问怎么能快速赚取技术分呢?谢谢。
回复 使用道具 举报
大神,有一道题,输入金额,然后打印成繁体汉字的读写,应该时这样的一个思路呢?

面试要考的题和前两次的入学测试题水平 是不是差不多?
回复 使用道具 举报
强哥,看入学提示是,笔试是从入学考试的的题目中抽取,是吗?
回复 使用道具 举报
何鹏程 发表于 2015-8-1 21:34
强哥,看入学提示是,笔试是从入学考试的的题目中抽取,是吗?

是面试时候的笔试吗?还是报到时候的笔试?
回复 使用道具 举报
强强_U00ts 发表于 2015-8-1 20:24
大神,有一道题,输入金额,然后打印成繁体汉字的读写,应该时这样的一个思路呢?

面试要考的题和前两次的入学 ...

面试时候的笔试题,跟基础测试难度相当你拿到这个数之后,可以分别把他们的个位,十位,百位,千位等。都取出来。之后你在弄一个switch,对应输出
回复 使用道具 举报
段燚涛 发表于 2015-8-1 18:55
大神你好,请问怎么能快速赚取技术分呢?谢谢。

最快的获取技术分就是来参加 我的活动。周一到周五下午四点到五点 在线答题给技术分
回复 使用道具 举报
大神,有没有一些java的练习题分享一下,谢谢!
回复 使用道具 举报
耀阳圣尊 发表于 2015-8-2 11:23
最快的获取技术分就是来参加 我的活动。周一到周五下午四点到五点 在线答题给技术分 ...

在哪里呢?关注你发的帖子么?
回复 使用道具 举报
耀阳圣尊 发表于 2015-8-2 11:20
是面试时候的笔试吗?还是报到时候的笔试?

报道的时候啊。
回复 使用道具 举报

报到笔试是在报到题库中 抽取的,不是很难。但是涵盖java基础。难易程度同基础测试
回复 使用道具 举报
段燚涛 发表于 2015-8-2 12:46
在哪里呢?关注你发的帖子么?

周一到周五的下午四点到五点
回复 使用道具 举报
一二三_aabyf 发表于 2015-8-2 12:26
大神,有没有一些java的练习题分享一下,谢谢!

这些题在网上有很多,你可以百度一下
回复 使用道具 举报
一二三_aabyf 发表于 2015-8-2 12:26
大神,有没有一些java的练习题分享一下,谢谢!

这些题在网上有很多,你可以百度一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马