题目
思路
就是找数字就可以,但是这里犯了一个错误,想要用函数独立出来,结果没有考虑全
错误代码
package LanQiaoBei_Question;
public class MenPaiZhiZuo {
//找2
public static boolean findTwo(int a) {
while (a > 0) {
if (a % 10 == 2) {
return true;
}
a = a / 10;
}
return false;
}
public static void main(String[] args) {
int ans = 0;
for (int i = 1; i <= 2020; i++) {
if (findTwo(i)) {
ans++;
}
}
System.out.println(ans);
}
}
这里出现的问题是,如果数字代入是22,那么ans只会加一,但是应该加二。
更改过后
package LanQiaoBei_Question;
public class zuomenpai {
public static void main(String[] args) {
int ans = 0;
for (int i = 0; i <= 2020; i++) {
int n = i;
while (n > 0) {
if (n % 10 == 2) {
ans++;
}
n /= 10;
}
}
System.out.println(ans);
}
}
这个就不用独立函数了,直接放在主函数中,方便。