一个字符串中寻找数字并求和
注意点: 1 分离符号字母等和数字
2 考虑数字左右的字符情况 以及数字连位的情况 (num*10+...)

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char[] c = sc.next().toCharArray();
int number = 0; //保存当前连续的数字
int result = 0; //所有数字之和
boolean flag = true; //判断是否为负数
for (int i=0; i<= c.length-1 ;i++){
int cur = c[i]-'0'; //当前字符
if (cur >= 0 && cur <=9) { //是数字字符
number = number*10 + (flag ? cur : -cur); //不管当前字符之前的是否为数字,累加number
} else{
result += number; //遇到不是数字的字符,先把之前的数

这篇博客主要介绍了华为2019年秋季招聘笔试中的两道题目:一是如何在字符串中查找并计算所有数字的总和,需要注意分离数字和非数字字符,并处理数字连接的情况;二是农夫养牛的繁殖数量问题,类似斐波那契数列,可以通过发现规律并使用递归方法解决。
最低0.47元/天 解锁文章
740

被折叠的 条评论
为什么被折叠?



