现有string.charAt(0) = 1,如何将它装换成INT类型 如!
 int i = 1;
 int sum = i + string.charAt(0);
 System.out.println(sum);
我想要的结果是2但是却是50请问如何解决呢?希望有代码!o(∩_∩)o...

解决方案 »

  1.   

    你可以倒着写下,就明白是怎么回事了~   因为数字0、1、2……9,也是字符,所以在ASCII中也有他的值存在~  对于这些 数字 ,它们的ASCII就是从48~57的,所以,如果你想得到数字~  那你就:……   //此处作下  char是否是数字的判断。string.charAt(0) = 1;int i=String.charAt(0);i-=48;  //这里是你一个自减运算;这样得到的就是数字了~ 呵呵~  如果不是这样处理的,请也告诉我下~ 
      

  2.   


    public class Test9 {   public static void main(String args[]){
         int i = 1; 
         String str="1234";
         int sum=Character.getNumericValue(str.charAt(0));
         sum+=i; 
         System.out.println(sum); 
       }
        
        
    }
      

  3.   

    你的题目是不可能的,除非你自己看花了眼.string.charAt(0) = 1;这句不可能成立
    因为charAt(0)无法赋值,string.charAt(0) == 1?nt i = 1; 
    int sum = i + string.charAt(0); 
    sum肯定是2.
    如果你说的是string.charAt(0) == '1'
    sum才会是50可是上面那些答案都是基于string.charAt(0) == 1的,不知道是怎么得到的.
      

  4.   

    用5楼的方法可以实现,还可以用这个方法实现:int i = 1;
    int sum = i + string.charAt(0);
    System.out.println(sum);将那一句改成 int sum = i + Integer.parseInt("" + string.charAt(0)); 就可以了.
      

  5.   

    看楼主好像是初学者,就把完整代码贴给你吧:public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i = 1;
    String str = "1234";
    int sum = i + Integer.parseInt("" + str.charAt(0));
    System.out.println(sum); }}输出结果就是2
      

  6.   

    public static void main(String args[]){
            int i = 1; 
            String str="1234";
         int sum=Integer.valueof(str.charAt(0));
         sum+=i; 
         System.out.println(sum); 
       }
    是这意思?
      

  7.   

    Integer.valueof?我不记得Integer有这个方法.倒是String有这个方法.Integer的是parseInt吧
      

  8.   

    如果楼主确实想要将一个 char 类型的数字字符转换为 int 类型的话,也可以,用下面这条语句就可以:
    int sum = i + (str.charAt(0) - '0');因为在运算过程中,用到的char类型的变量都是取的它的ASCII码来运算的,所以要只需算出当前字符与'0'字符之间的差值就得到当前字符的数字值。
    转换前也可以先判断一下当前是否是数字字符:
    if (Character.isDigit(str.charAt(0)) {
        //要执行的代码块
    }
    完整代码示例:public class Test { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int i = 1;
    String str = "1a34c"; for (int j = 0; j < str.length(); j++) {
    char ch = str.charAt(j);
    if (Character.isDigit(ch)) {
    int sum = i + ch - '0';
    System.out.println("sum = " + sum);
    } else {
    System.out.println(ch + " 这个字符不是数字");
    }
    } }}输出结果:
    sum = 2
    a 这个字符不是数字
    sum = 4
    sum = 5
    c 这个字符不是数字
      

  9.   

    是Integer.valueOf()方法,參數只接受int和String,而且這個返回值是個Integer類型的。
      

  10.   

    那个CharAT()是什么东西呀?我是新手请大虾们指教
      

  11.   

    public class Test {    /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int i = 1;
            String str = "1234";
            int sum = i + Integer.parseInt("" + str.charAt(0));
            System.out.println(sum);    }}
      

  12.   


    public class Test{   public static void main(String args[]){
        
           String string = "123456";
           int i = 1; 
           int sum = i + Character.getNumericValue(string.charAt(0));
            
           System.out.println(sum); 
       }
    }
      

  13.   

    public class E {
    public static void main(String[] args) {
    int index=0;//你可以随意选择你要提取的字符串中的任意一个字符用于后面的运算
    String s="123";
    String temp=s.substring(index,index+1);
    int i=1;
    Integer nu=new Integer(temp);
    //int sum= i + Integer.parseInt("" + s.charAt(0)); //这行的方法比较直接,很好
    int sum=i+nu.intValue();//这样的方法就比较间接,且笨拙
    System.out.println(sum);
    }}
      

  14.   

    Integer.parseInt();  里面只能是String类型的~   不知道这样写的结果是什么:(""+String.charAt(0));
      

  15.   


    ""+String.charAt(0);就是Stringchar a='1';
    System.out.println(Integer.parseInt(""+a)); // 1
    int i =a-48; 
    System.out.println(i);  //1
      

  16.   

    int i = 1; 
    int sum = i + (string.charAt(0) - 48); 
    System.out.println(sum); 
      

  17.   


    string.charAt(x)-48字符1和数字1的ASCII之间差是48。