2016-04-21 68 views
0

我希望能够分开两个数字的字符串,然后将它们加在一起,但我始终得到每个字符的int值。如果我输入“55”作为字符串,我希望答案是10.我该怎么做?从字符串中添加数字

package org.eclipse.wb.swt; 

import java.util.*; 

public class ISBN13 { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     Scanner input = new Scanner(System.in); 

     System.out.println("enter a string"); 
     String numbers = input.nextLine(); //String would be 55 

     int num1=numbers.charAt(0); //5 

     int num2=numbers.charAt(1); //5 

     System.out.println(num1+num2); //the answer should be 10 
    } 
} 
+0

的http://计算器的.com /一个/5221346分之4968343 – Gendarme

回答

1

您正在获取字符的ascii值;您可以使用Character.digit(char, int)来获取数字值。喜欢的东西,

String numbers = "55"; 
int num1 = Character.digit(numbers.charAt(0), 10); 
int num2 = Character.digit(numbers.charAt(1), 10); 
System.out.println(num1 + num2); 

输出是(的要求)

10 
0

您可以使用string.toCharArray()方法,然后将它们添加在一个for循环

import java.util.Scanner; 

public class MyClass { 
    public static void main(String[] args) { 
     Scanner scan = null; 
     try { 
      scan = new Scanner(System.in); 
      String line = scan.nextLine(); 
      char[] charArray = line.toCharArray(); 
      int sum = 0; 
      for (char character : charArray) { 
       sum += Integer.parseInt(String.valueOf(character)); 
      } 
      System.out.println(sum); 
     } finally { 
      scan.close(); 
     } 
    } 
} 
0
int x = Character.getNumericValue(element.charAt(0));