题目:计算特别数的和
语言:java
注意:不要有包语句,主类名为Main。
语法错误:import java.util;
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();/注意这里必须是 int n;即必须带入类型名
语法模糊:一个需要返回值的方法需要return 数值;//注意语句结束后面必须得有分号
逻辑:使用暴力解法
代码:
import java.util.*;
public class Main{
static boolean judge(int x){
while(x>0){
int t=x%10;
if(t==2||t==0||t==1||t==9){
return true;
}
x=x/10;
}
return false;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int count=0;
for(int i=1;i<=n;i++){
if(judge(i)){
count=count+i;
}
}
System.out.println(count);
}
}
收获:%10取的当前数的个位,为了获得一个数的各个位置上的数字,因此每次操作完成后,将数/10,将前一位的数放在个位。重复以上操作,即可取得各个位的数字。