求和:(String、toCharArray、break)

小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 2019 中,所有这样的数的和是多少?

public class Main {
	public static void main(String [] args) {
		int t = 0;//计数
		for(int i=1;i<=2019;i++) {
			String s = i+"";//将数字转为字符串
			char[] c = s.toCharArray();//将字符串转为字符数组
			for(int j=0;j<c.length;j++) {
				if(c[j]=='2' || c[j]=='0' || c[j]=='1' || c[j]=='9') {
					t+=i;
					break;//有可能某个数包含2019中的多个(会多加次数)
				}
			}
		}
		System.out.print(t);
	}
}
1905111

你可能感兴趣的:(蓝桥杯Java程序设计,java,开发语言)