蓝桥杯刷题2 统计特殊年份

题目:统计特殊年份

语言:java

语法错误:一个方法名前面只能有一个方法返回类型,例如void boolean是错误的表达;

                新建一个数组语法格式为:int[] 数组名=new 数组名[数组长度];!!!

                if(函数()):if本身自带一个括号,函数本身也自带一个括号,写的太快容易被遗忘

                变量不能被重定义。例如 int year;

                 在同一个类中就不能被再次定义了。!!!

逻辑:主函数输入年份,方法里面定义可以判断各个年份的方法。方法主要实现为:取年份上各个位的数。有两种取法:

第一种为先取余,再除。(这种可以保证后面的数不变)

以2021为例:

千位:2021/1000;百位:2021%1000/100;十位:2021%100/10;十位:2021%10

这种方法的实质:除以10的几次方,就是取这个数的第几位,取余是取余的数的第几位,取余是取被除后的数的第几位

第二种是先除在再取余。(这种可以保证前面的不变)

以2021为例:

千位:2021/1000;百位:2021/100%10;十位:2021/10%10;个位:2021%10;

这种方法的实质:将每一位变成个位取余。

这两种方法的实现是一样的,只不过取的方向不一样。

代码展示:



import java.util.*;
public class Main{
    static  boolean judge(int x){
        int a=x/1000;
        int b=x%1000/100;
        int c=x%100/10;
        int d=x%10;
        if(a==c&&d-b==1){
            return true;
        }
        return false;
    }
    public static void main(String[] args){
        int[] year=new int[5];
        int count=0;
        Scanner sc=new Scanner(System.in);
        for(int i=0;i<5;i++){
             year[i]=sc.nextInt();
            if(judge(year[i])){
                count=count+1;
            }
        }
        System.out.println(count);
    }
}

括展思考:与统计特殊数字一样,统计特殊年份,都是要取到每一位数字;

收获:1.做这种题的固定模板

2.Scanner sc=new Scanner(System.in);

int[] year=new  int[4];

for(int i=0;i<n;i++){

year[i]=sc.nextInt();

}

这种可以节省空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值