JAVA学习——练习题Day02

JAVA基础练习题

作业:
1.输出1~100内前5个可以被3整除的数。
2.打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。*例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
3.计算2000年1月1日到2008年1月1日相距多少天。
4.用for循环求2+22+222+2222+22222+…的和。

代码如下:

public class Day02_homework {
    //作业三
    public int year(int y1,int y2){
        if (((y1%4==0&&y1%100!=0)||(y1%4==0&&y1%100!=0))||((y2%4==0&&y2%100!=0)||(y2%4==0&&y2%100!=0))){//判断是否为闰年
            if (y1>y2){
                int y=(y1-y2);//年份差×365,再对4整除,其中有几个闰年就多+1天
                return y*365+y/4;
            }else {
                int y=(y2-y1);
                return y*365+y/4;
            }
        }else {
            if (y1>y2){
            int y=(y1-y2);
            return y*365;
        }else {
            int y=(y2-y1);
            return y*365;
        }
        }
    }
    public int month(int m1,int m2){
    //月份统一用30天(后期回学Date和calendar方法)
        if (m1>m2){
            int m=(m1-m2)*30;
            return m;
        }else {
            int m=(m2-m1)*30;
            return m;
        }
    }
    public int day(int d1,int d2){
        if (d1>d2){
            int d=d1-d2;
            return d;
        }else {
            int d=d2-d1;
           return d;
        }
    }



    public static void main(String[] args) {
        //作业一
        int j=0;
        for (int i=1;i<=100;i++){
            if (i%3==0){
                j++;//如果满足可以整除3的条件,j加一,以便取出前五个数
                System.out.println(i);
                if (j==5){//加一个条件判断只取前5个
                    break;
                }
            }
        }
        //作业二
        for (int i=100;i<1000;i++){
            //个位
            int a=i%10;
            //十位
            int b=i%100/10;
           // 百位
            int c=i/100;
            if (i==a*a*a+b*b*b+c*c*c)
            {
                System.out.println(i);
            }
        }
        //作业三的输出
        Day02_homework cha=new Day02_homework();
        System.out.println(cha.year(2008,2000)+cha.month(12,12)+cha.day(1,1));
        //作业四
        //2+22+222的规律为0x10+2=2,2x10+2=22,22x10+22=222
        int j=0;
        int a=0;
        for (int i=0;i<=2;i++){
            a=(a*10)+2;//找出规律,求出每一项
            j+=a;//每一项进行加和
        }
        System.out.println(j);
        //作业四 方法二
        String x="2";int num=0;
        for (int i=0;i<4;i++){
            num=num+Integer.parseInt(x);//将字符串2变为数字2进行加和
            //将2看做字符串,每下一项在2后面再加一个2,连接起来为22,222,22222
            x=x+"2";//字符串连接并非算数运算,求每一项
            System.out.println(num);
        }
    }

}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值