返回参数字符串中所有整数之和的java程序
我想写一个java程序来返回参数字符串中所有整数的总和。 例如,以一个字符串为例:“12 hi when 8 and 9” 现在的答案是12+8+9=29。返回参数字符串中所有整数之和的java程序,java,Java,我想写一个java程序来返回参数字符串中所有整数的总和。 例如,以一个字符串为例:“12 hi when 8 and 9” 现在的答案是12+8+9=29。 但我真的不知道该怎么开始,谁能帮上忙呢 您应使用扫描仪读取字符串 Scanner s = new Scanner(your string); 然后使用 s.nextInt(); 然后添加这些整数。您应使用扫描仪读取字符串 Scanner s = new Scanner(your string); 然后使用 s.ne
但我真的不知道该怎么开始,谁能帮上忙呢 您应使用扫描仪读取字符串
Scanner s = new Scanner(your string);
然后使用
s.nextInt();
然后添加这些整数。您应使用扫描仪读取字符串
Scanner s = new Scanner(your string);
然后使用
s.nextInt();
然后添加这些整数。您可以先将
字符串中的所有非数字替换为空格
,然后根据空格
将其拆分
String str = "12 hi when 8 and 9";
str=str.replaceAll("[\\D]+"," ");
String[] numbers=str.split(" ");
int sum = 0;
for(int i=0;i<numbers.length;i++){
try{
sum+=Integer.parseInt(numbers[i]);
}
catch( Exception e ) {
//Just in case, the element in the array is not parse-able into Integer, Ignore it
}
}
System.out.println("The sum is:"+sum);
String str=“12 hi when 8 and 9”;
str=str.replaceAll(“[\\D]+”,”);
字符串[]数字=str.split(“”);
整数和=0;
对于(int i=0;i您可以先将字符串
中的所有非数字替换为空格
,然后根据空格
将其拆分
String str = "12 hi when 8 and 9";
str=str.replaceAll("[\\D]+"," ");
String[] numbers=str.split(" ");
int sum = 0;
for(int i=0;i<numbers.length;i++){
try{
sum+=Integer.parseInt(numbers[i]);
}
catch( Exception e ) {
//Just in case, the element in the array is not parse-able into Integer, Ignore it
}
}
System.out.println("The sum is:"+sum);
String str=“12 hi when 8 and 9”;
str=str.replaceAll(“[\\D]+”,”);
字符串[]数字=str.split(“”);
整数和=0;
对于(inti=0;i,这里是一般算法:
int sumString(String input)
{
int output = 0;
for (String token : input.split(" "))
{
try
{
output += Integer.parseInt(token);
}
catch (Exception error)
{
}
}
return output;
}
将和初始化为零
按空格拆分字符串,对于每个标记:
- 尝试将令牌转换为整数
- 如果没有引发异常,则将整数添加到总和中
下面是一个编码示例:
int sumString(String input)
{
int output = 0;
for (String token : input.split(" "))
{
try
{
output += Integer.parseInt(token);
}
catch (Exception error)
{
}
}
return output;
}
以下是一般算法:
int sumString(String input)
{
int output = 0;
for (String token : input.split(" "))
{
try
{
output += Integer.parseInt(token);
}
catch (Exception error)
{
}
}
return output;
}
将和初始化为零
按空格拆分字符串,对于每个标记:
- 尝试将令牌转换为整数
- 如果没有引发异常,则将整数添加到总和中
下面是一个编码示例:
int sumString(String input)
{
int output = 0;
for (String token : input.split(" "))
{
try
{
output += Integer.parseInt(token);
}
catch (Exception error)
{
}
}
return output;
}
private static int GetSumofIntegratersInstalling(字符串){
/*拆线*/
String[]stringArray=String.split(“”);
整数和=0;
内部温度=0;
对于(int i=0;iprivate static int GetSumofIntegratersInstalling(字符串){
/*拆线*/
String[]stringArray=String.split(“”);
整数和=0;
内部温度=0;
对于(inti=0;i可以使用正则表达式
Pattern p = Pattern.compile("\\d+");
String s = " 12 hi when 8 and 9" ;
Matcher m = p.matcher(s);
int start = 0;
int sum=0;
while(m.find(start)) {
String n = m.group();
sum += Integer.parseInt(n);
start = m.end();
}
System.out.println(sum);
这种方法不要求项目之间用空格分隔,因此它可以与“12HIWhen8和9”一起使用。您可以使用正则表达式
Pattern p = Pattern.compile("\\d+");
String s = " 12 hi when 8 and 9" ;
Matcher m = p.matcher(s);
int start = 0;
int sum=0;
while(m.find(start)) {
String n = m.group();
sum += Integer.parseInt(n);
start = m.end();
}
System.out.println(sum);
这种方法不要求项目之间用空格分隔,因此它可以与“12HIWhen8和9”一起使用。假设您的单词之间用空格分隔:
然后将输入字符串拆分为“标记”(不带空格的连续字符)。
然后循环它们,尝试将它们转换为整数,如果抛出异常,则表示此标记不表示整数
代码:
假设您的单词由空格分隔:
然后将输入字符串拆分为“标记”(不带空格的连续字符)。
然后循环它们,尝试将它们转换为整数,如果抛出异常,则表示此标记不表示整数
代码:
String s=“12 hi when 8 and 9”;
s=s.replaceAll(“[^0-9]+”,”);
字符串[]numbersArray=s.split(“”);
整数和=0;
对于(int i=0;iString s=“12 hi,当8和9时”;
s=s.replaceAll(“[^0-9]+”,”);
字符串[]numbersArray=s.split(“”);
整数和=0;
对于(int i=0;i您可以查看以下代码:-
public class Class02
{
public static void main(String[] args)
{
String str = "12 hi when 8 and 9";
int sum = 0;
List<String> list = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(str.toLowerCase());
while(st.hasMoreElements())
{
list.add(st.nextToken());
}
for(int i =0; i< list.size();i++)
{
char [] array = list.get(i).toCharArray();
int num = array[0];
if(!(num >= 'a' && num <= 'z'))
{
int number = Integer.valueOf((list.get(i).toString()));
sum = sum + number;
}
}
System.out.println(sum);
}
}
公共类Class02
{
公共静态void main(字符串[]args)
{
字符串str=“8和9时为12高”;
整数和=0;
列表=新的ArrayList();
StringTokenizer st=新的StringTokenizer(str.toLowerCase());
而(st.hasMoreElements())
{
添加(st.nextToken());
}
对于(int i=0;i 如果(!(num>='a'&&num您可以查看以下代码:-
public class Class02
{
public static void main(String[] args)
{
String str = "12 hi when 8 and 9";
int sum = 0;
List<String> list = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(str.toLowerCase());
while(st.hasMoreElements())
{
list.add(st.nextToken());
}
for(int i =0; i< list.size();i++)
{
char [] array = list.get(i).toCharArray();
int num = array[0];
if(!(num >= 'a' && num <= 'z'))
{
int number = Integer.valueOf((list.get(i).toString()));
sum = sum + number;
}
}
System.out.println(sum);
}
}
公共类Class02
{
公共静态void main(字符串[]args)
{
字符串str=“8和9时为12高”;
整数和=0;
列表=新的ArrayList();
StringTokenizer st=新的StringTokenizer(str.toLowerCase());
而(st.hasMoreElements())
{
添加(st.nextToken());
}
对于(int i=0;i 如果(!(num>='a'&&num我知道它没有Java8标记,但我会把它放在那里,以防有人觉得有趣
String str = "12 hi when 8 and 9";
System.out.println(Arrays.stream(str.split(" "))
.filter(s -> s.matches("[0-9]+")).mapToInt(Integer::parseInt).sum());
会很好地打印出29个我知道这没有Java8标签,但我会把它放在那里,以防有人觉得有趣
String str = "12 hi when 8 and 9";
System.out.println(Arrays.stream(str.split(" "))
.filter(s -> s.matches("[0-9]+")).mapToInt(Integer::parseInt).sum());
将很好地打印出29字符串“abc123def”如何。我希望输出为1+2+3=6。当前prgm给出123作为output@Coder17这是一个不同的要求。输出是123,因为对于此代码,“123”
被视为一个整数。关于字符串“abc123def”.我预计输出为1+2+3=6。当前prgm给出123作为output@Coder17这是一个不同的要求。输出是123,因为对于此代码,“123”
被视为一个整数