将字符串中的数字相加
Adding numbers together from a String
我希望能够将两个数字的字符串分开,然后将它们相加,但我一直在获取每个字符的 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
}
}
您正在获取字符的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
您可以使用 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();
}
}
}
int x = Character.getNumericValue(element.charAt(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
}
}
您正在获取字符的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
您可以使用 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();
}
}
}
int x = Character.getNumericValue(element.charAt(0));