Java 在给定的字符串集中分离字符和数字并只添加数字
这是我的代码,我想从给定的字符串值中只计算整数 例如:abc123as34输出:13Java 在给定的字符串集中分离字符和数字并只添加数字,java,Java,这是我的代码,我想从给定的字符串值中只计算整数 例如:abc123as34输出:13 这里忽略字符串只计算数字,一种方法是循环字符串中的每个字符,检查它是否是数字。如果是,将其添加到某种类型的total变量中。例如: String str = "abc123as34"; int total = 0; for (char c : str.toCharArray()) { if (Character.isDigit(c)) { total += Character.getN
这里忽略字符串只计算数字,一种方法是循环字符串中的每个字符,检查它是否是数字。如果是,将其添加到某种类型的
total
变量中。例如:
String str = "abc123as34";
int total = 0;
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) {
total += Character.getNumericValue(c);
}
}
System.out.println(total);
一种方法是循环字符串中的每个字符,检查它是否是数字。如果是,将其添加到某种类型的
total
变量中。例如:
String str = "abc123as34";
int total = 0;
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) {
total += Character.getNumericValue(c);
}
}
System.out.println(total);
您可以逐个循环字符串中的字符,并将每个字符相加为一个数字:
public static int sumInts(String str) {
int sum = 0;
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) {
sum += Character.getNumericValue(c);
}
}
return sum;
}
您可以逐个循环字符串中的字符,并将每个字符相加为一个数字:
public static int sumInts(String str) {
int sum = 0;
for (char c : str.toCharArray()) {
if (Character.isDigit(c)) {
sum += Character.getNumericValue(c);
}
}
return sum;
}
试试这个:
class Calc
{
public static void main (String[] args)
{
String s="123ab3";
char[] d=s.toCharArray();
int total=0;
for(int i=0;i<d.length;i++)
{
try
{
total=total+Integer.parseInt(""+d[i]);
System.out.println(""+total);
}
catch(Exception e)
{
System.out.print("not no");
}
}
System.out.print("total="+total);
}
}
试试这个:
class Calc
{
public static void main (String[] args)
{
String s="123ab3";
char[] d=s.toCharArray();
int total=0;
for(int i=0;i<d.length;i++)
{
try
{
total=total+Integer.parseInt(""+d[i]);
System.out.println(""+total);
}
catch(Exception e)
{
System.out.print("not no");
}
}
System.out.print("total="+total);
}
}
对不起,我看不到你的电话code@Keppil我猜他是在对数字求和。@Keppil我想他的意思是1+2+3++3+4=13首先试着从字符串中提取数字。然后你可以很容易地把它们相加。@ScaryWombat*/int count=0;public void abc(String a){int i1=0;String regex=“[a-zA-Z]”字符串s1[]=a.split(“”);用于(int i=0;我恐怕看不到您的code@Keppil我猜他是在对数字求和。@Keppil我想他的意思是1+2+3++3+4=13首先试着从字符串中提取数字。然后你可以很容易地对它们求和。@ScaryWombat*/int count=0;public void abc(String a){int i1=0;String regex=“[a-zA-Z]”字符串s1[]=a.split(“”);例如(int i=0;ir你确定这会给出准确的结果,我不这么认为,因为
(int)c
这不会将字符类型转换为int。(int)的值是多少“3”
?这不会产生期望的结果,因为如果将字符“0”强制转换为int,它将是48。它应该是sum+=c-“0”;
Doh!当然你是对的。我已经编辑了我的答案(虽然它基本上等同于@Th3Cuber)。你确定这会给出准确的结果,我不这么认为,因为(int)c
这不会将字符强制转换为int。(int)“3”的值是多少?
?这不会产生期望的结果,因为如果将字符“0”强制转换为int,它将是48。它应该是sum+=c-“0”;
Doh!当然你是对的。我已经编辑了我的答案(尽管它基本上等同于@Th3Cuber)。