2016-04-21 2 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: // StackOverflow .com/а/4968343/5221346 – 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() метод, а затем добавить их в цикле

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(); 
     } 
    } 
}