请教

skyboy0720 2003-10-17 08:27:08
import java.io.*;
public class Teststr1
{
public static void main ( String [ ] args ) throws IOException
{
String str;
int sum = 0, num, strlen;
System.out.print ( "Input: " );
BufferedReader in = new BufferedReader ( new InputStreamReader ( System.in ) );
str = in.readLine ( );
System.out.println ( " Your input is : " + str );
strlen = str.length ( );
for ( int i = strlen - 1; i >=0; i-- )
{
// 从字符串中反相提取数字
num = Integer.parseInt ( String.valueOf ( str.charAt ( i ) ) );
// 计算出对应的十进制数
num *= Math.pow ( 2, strlen - 1 - i ) ;
sum += num;
}
System.out.println ( sum );
}
}



这是我完成的一个练习题(二进制数转换十进制数),虽然很简单,但我有两个小问题想问

第一:
从字符串中提取数字的方法,我用的是
num = Integer.parseInt ( String.valueOf ( str.charAt ( i ) ) );
还有别的更好的方法吗,一般使用哪种方法!

第二:

怎样才能让输入如果不是“1”或者“0”就提示错误,重新输入!(小弟对抛出异常还不是很熟)


请教各位!



...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
imagex 2003-10-17
  • 打赏
  • 举报
回复
第二个问题
用read()一个个读
skyboy0720 2003-10-17
  • 打赏
  • 举报
回复
第2个问题呢
imagex 2003-10-17
  • 打赏
  • 举报
回复
num = Integer.valueOf(String.valueOf ( str.charAt ( i ) ) ).intValue();
imagex 2003-10-17
  • 打赏
  • 举报
回复
num = (int)str.charAt ( i )-48 ;
不知道是不是更好的
LuZhou 2003-10-17
  • 打赏
  • 举报
回复
加个if语句判断不就OK啦。

62,615

社区成员

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

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