public class Code
{
 public static void main(String[] args)
  {
  String str="1110110";
  int m=0,p=0;
  for(int i=str.length()-1;i>=0;i--)
  {char c=str.charAt(i);
  int a=Integer.parseInt(""+c);/**Ineger.parseInt(String s)参数是字符串,
  p=p+(int)(a*Math.pow(2,m));  * 而代码中是空的,后面“+c”吧字符转化为int
  m++;                         *数据,不符合语法啊?删掉“”又出现unkown
                               *source的报错,是怎么回事??
  }   
  System.out.println(p);       */
  }
  
  }
                   这个程序是没错,我只是不理解其中的一句,不理解的地方用*表示着,那是我写的 
 

解决方案 »

  1.   

    int a=Integer.parseInt(""+c)
    有点乱,是不是要问这句?
    C是一个字符,""+C则是一个字符串了
    Integer.parseInt(String)参数为String,所以需要进行类型转换
      

  2.   

    .....
                    int a = 1;
    char c = '1';
    String str = a+"";
    String str1 = ""+a;
    String ss = c+"";
    String sss = ""+c;
    类型转换
      

  3.   

    int a=Integer.parseInt(""+c);因为paseInt函数要求参数是String类型,而一上空字符串加上一个整数,正好能将该整数转为字符串,所以不能将参数中的""去掉.
      

  4.   

    String sStr = "";//这是一个String
    String sStr = "" + 5;//这是一个String
    String sStr = ""+c;//这还是一个String