🧑🎓个人介绍:大二软件生,现学JAVA、Linux、MySQL、算法
💻博客主页:渡过晚枫渡过晚枫
👓系列专栏:[编程神域 C语言],[java/初学者],[蓝桥杯]📖阶段目标:备战2023蓝桥杯java个人赛
👻不能逃避,不能逃避,不能逃避,去成为更好的自己!👻
一、🍁题目描述:
小明对数位中含有 2、0、1、9的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。
请问,在 1 到 2019中,所有这样的数的和是多少?
二、🍁题目分析:
本来一开始想用最简单的循环取余判断的,但那样属实没啥挑战。
想到之前一直想用字符串判断的方法,所以这次便搜到了contains()方法。
当且仅当此字符串包含括号内所指定的char值序列时,结果返回true。
如此一来,我们就只需要短短的一行就能完成全部情况的判断,是不是很简单呢?
结果为:1905111
三、🍁解题代码:
package Lanqiao_2019;
public class A
{
public static void main(String[] args)
{
int Sum=0;
for(int i=1;i<=2019;i++)
{
String str=i+"";
if(str.contains("2")||str.contains("0")||str.contains("1")||str.contains("9"))
{
Sum+=i;
}
}
System.out.println(Sum);
}
}