请教
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”就提示错误,重新输入!(小弟对抛出异常还不是很熟)
请教各位!