public class Example5_5
{
public static void main(String args[])
{
double n,sum=0,item=0;
boolean computable =true;
for(int i=0;i<args.length;i++)
{
try 
{
item=Double.parseDouble(args[i]);
sum+=item;
}
catch(NumberFormatException e)
{
System.out.println("你输入了非法字符:"+e);
computable=false;
}
}
if(computable)
{
n=sum/args.length;
System.out.println("平均数:"+n);
}
int number=123456;
String binaryString=Long.toBinaryString(number);
System.out.println(number+"的二进制为:"+binaryString);
System.out.println(number+"的十六进制为:"+Long.toString(number,16));
String str="1110110";
int p=0,m=0;
for(int i=str.length()-1;i>=0;i--)
{
char c=str.charAt(i);
                  /////////////////////////////////////////
int a=Integer.parseInt(""+c)
                  ////////////////////////////////////////////
p=p+(int)(a*Math.pow(2,m));
m++;
}
System.out.println(str+"的十进制表示"+p);
              int a=Integer.parseInt(""+c)中的(""+c)的""是干什么的?为什么不能去掉?
}

解决方案 »

  1.   

    因为Integer.parseInt(String numStr)
    里面的numStr必须是String类型的
    如果只是char c的话 是不行的
    在前面+"" 就显示的把char转成了String
    所以可以调用转换
    另外 基础数据类型+"" 都可以转换成对应数值的String类型对象
      

  2.   

    是利用java语法偷懒做了一个强制类型转换。
      

  3.   

    1L对哦……请问有(string)c没……
      

  4.   

    是强制转换?(String)c???
    就是调用toString吧
      

  5.   

    就是装换成string类型,方便快捷的做法
      

  6.   

    +"" 就显示的把char转成了String
      

  7.   

    1L说的正确 不过也不一定非得这么写Character i = '1'; //你可以直接用对象类型获取该值 然后调用他的toString方法
    Integer.parseInt(i.toString());