java,从键盘输入一个字符串,计算其中的全部数字字符表示的数值之和。例如输入字符串1a2b3c,得1+2+3=6

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java,从键盘输入一个字符串,计算其中的全部数字字符表示的数值之和。例如输入字符串1a2b3c,得1+2+3=6相关的知识,希望对你有一定的参考价值。

参考技术A import java.util.Scanner;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Test 
  public static void main(String[] args) 
    ScriptEngineManager manager = new ScriptEngineManager();
    ScriptEngine engine = manager.getEngineByName("javascript");
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入:");
    String input = scanner.nextLine();
    if (input == null || "".equals(input.trim()))
      return;
    input = input.replaceAll("(?<=\\\\d)\\\\D+(?=(\\\\d|$))", "+");
    if (input.endsWith("+"))
      input = input.substring(0, input.length() - 1);
    if ("".equals(input.trim()))
      return;
    System.out.println(input);
    try 
      Double result = (Double) engine.eval(input);
      System.out.println("结果:" + result.intValue());
     catch (ScriptException e) 
      System.err.println("表达式不正确。");
    
  

参考技术B

用正则表达式

import java.util.Scanner;

public class $ 
    public static void main(String[] _) 

        String regex = "[^\\\\d]";

        Scanner in = new Scanner(System.in);

        System.out.print("输入字符串:");
        String str = in.next();

        String[] arr = str.split(regex);

        int sum = 0;
        for (String s : arr) 
            if (!"".equals(s)) 
                sum += Integer.parseInt(s);
            
        
        System.out.println(sum);
    

本回答被提问者采纳
参考技术C import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Num
String s;
public void sum()
Scanner sc = new Scanner(System.in);
s=sc.nextLine();
Pattern p=Pattern.compile("[^0-9]");
Matcher m=p.matcher(s);
String r=m.replaceAll("");
char a[]=r.toCharArray();
int num=0;
for(int j=0;j<a.length;j++)
String s1=String.valueOf(a[j]);
num=Integer.parseInt(s1)+num;

if(j==a.length-1)
System.out.print(a[j]);
else
System.out.print(a[j]+"+");


System.out.println("="+num);


public static void main(String[] args)
new Num().sum();

参考技术D Pattern numberP = Pattern.compile("\\d");
Matcher matcher = numberP.matcher("1as2d3b");
int totalnum=0;
while (matcher.find())
totalnum+=Integer.parseInt(matcher.group());

System.out.println(totalnum);
第5个回答  2013-09-25 import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution
public static void main(String[] args)
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = scan.next();
Pattern partten = Pattern.compile("[0-9]");
int sum = 0;
for (int i = 0; i < str.toCharArray().length; i++)
Matcher matcher = partten.matcher(str.toCharArray()[i] + "");
if (matcher.matches())
sum += Integer.parseInt(str.toCharArray()[i] + "");


System.out.println("其中的全部数字字符表示的数值之和:");
System.out.println(sum);

统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出其中英文字符数字空格和其他字符的个数

统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数

s = input("请输入一行字符:")
letter = 0      #字母
Space = 0       #空格
number = 0      #数字
character = 0   #其他字符
for i in s:
    if ord("a") <= ord(i.lower()) <= ord("z"):
        letter += 1
    elif ord(" ") == ord(i):
        Space += 1
    elif ord("0") <= ord(i) <= ord("9"):
        number += 1
    else:
        character += 1
print("英文个数:" + str(letter))
print("空格个数:" + str(Space))
print("数字个数:" + str(number))
print("其他字符个数:" + str(character))

以上是关于java,从键盘输入一个字符串,计算其中的全部数字字符表示的数值之和。例如输入字符串1a2b3c,得1+2+3=6的主要内容,如果未能解决你的问题,请参考以下文章

键盘接收一个字符串,判断其是不是是尾号 5 连的手机号?

统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出其中英文字符数字空格和其他字符的个数

python编写一段代码,要求用户从键盘输入一字符串,程序负责提取出其中的数字字符,并显示。 大神求教

用python从键盘输入一个字符串,统计其中大写小写字母以及数字的个数?

C语言编程题:从键盘输入一串字符,统计其中的数字与字母个数并输出

Python问题