| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4206 人关注过本帖
标题:判断一个数是否为二进制数
只看楼主 加入收藏
阅逡
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-1
收藏
得分:0 
还是版主牛,一个语句就搞定十几行

2006-12-01 19:30
阅逡
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-1
收藏
得分:0 
谢啦,我还没发觉Integer可以这样用

2006-12-01 19:30
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
呵呵,多了解API吧

可惜不是你,陪我到最后
2006-12-01 19:44
skyer00
Rank: 2
等 级:论坛游民
帖 子:54
专家分:70
注 册:2006-7-2
收藏
得分:0 
冰封兄果然是一强人

2006-12-01 19:49
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
收藏
得分:0 
以下是引用千里冰封在2006-12-1 18:08:31的发言:
这么复杂
用Integer.parseInt(s,2);不就可以了吗

开发是这样用,不过学习当然是从基本算法入手,简单的方法很多,不过对与他们初学者这东西用多了有害无益,你说是么?


老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2006-12-01 19:57
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用angeloc在2006-12-1 19:57:16的发言:

开发是这样用,不过学习当然是从基本算法入手,简单的方法很多,不过对与他们初学者这东西用多了有害无益,你说是么?

那当然是
不过,了解捷径也不错啊


可惜不是你,陪我到最后
2006-12-01 20:10
angeloc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:36
帖 子:1353
专家分:0
注 册:2006-11-21
收藏
得分:0 
以下是引用千里冰封在2006-12-1 20:10:36的发言:

那当然是
不过,了解捷径也不错啊

。。。你给连进制转换都不太清楚的新手讲解捷径,那不是害人家么。。。


老牛明知夕阳晚,不用扬鞭自奋蹄; Angelo\'s BLOG
2006-12-01 20:15
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
这叫快速入门

可惜不是你,陪我到最后
2006-12-01 20:58
阅逡
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-1
收藏
得分:0 
以下是引用angeloc在2006-12-1 18:07:22的发言:
public static void main(String[] args)
{
int sum=0;
String str=new String();
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
str=in.readLine();
for(int i=0;i<str.length();i++)//循环操作输入的字符串
{
if(str.charAt(i)!='0'&&str.charAt(i)!='1')
{
System.out.println("...");
return;
}
if(i<str.length()-1)
{
sum=(sum+Integer.parseInt(str.substring(i,i+1)))*2;//二进制转十进制最基本方法
}
else
sum=sum+Integer.parseInt(str.substring(str.length()-1,str.length()));//把二进制最后一位加上
}
System.out.println(sum);
}

请问上面的str.substring(i,i+1)是啥意思啊


2006-12-01 23:58
阅逡
Rank: 1
等 级:新手上路
帖 子:103
专家分:0
注 册:2006-12-1
收藏
得分:0 

呵呵,我自己又改了一下,谢谢大家给我的意见
现在这个应该没问题了
import java.io.*;
public class Test
{
public static void main(String[] args)throws IOException
{

int sum=0;
int squar=1;
String str=new String();
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
str=in.readLine();
int Length=str.length();
for(int i=0;i<Length;i++)
{
if(str.charAt(i)!='0'&&str.charAt(i)!='1')
System.out.println("你输入的不是一个二进制数");
else
{
for(int j=0;j<Length-(1+i);j++)
{

squar=squar*2;
}
if(str.charAt(i)=='1')
sum+=squar;

squar=1;

}

}
System.out.println(sum);

}

}


2006-12-02 00:25
快速回复:判断一个数是否为二进制数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012361 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved