java课题--day1基础回顾

大课题Day01–回顾java基础

输入年月日,判断是哪一天

import java.util.Scanner;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/9 - 11:49
 */
public class demo01 {
    public static void main(String[] args) {
        //输入年月日,判断是哪一天
        System.out.println("输入年月日,回车隔开");
        Scanner input=new Scanner(System.in);
        int year=input.nextInt();
        int month=input.nextInt();
        int date=input.nextInt();
        System.out.println("你输入的日期是"+year+"\t"+month+"\t"+date);
        //判断是不是闰年
        if((year%4==0&&year%100!=0) || year % 400==0) {
            //闰年
            System.out.println("今年是润年");
            switch(month) {
                case 1:
                    System.out.println(date);
                    break;
                case 2:
                    System.out.println(30+date);
                    break;
                case 3:
                    System.out.println(59+date);
                    break;
                case 4:
                    System.out.println(90+date);
                    break;
                case 5:
                    System.out.println(120+date);
                    break;
                case 6:
                    System.out.println(151+date);
                    break;
                case 7:
                    System.out.println(181+date);
                    break;
                case 8:
                    System.out.println(212+date);
                    break;
                case 9:
                    System.out.println(243+date);
                    break;
                case 10:
                    System.out.println(273+date);
                    break;
                case 11:
                    System.out.println(304+date);
                    break;
                case 12:
                    System.out.println(335+date);
                    break;
            }
        }else {
            //平年
            System.out.println("今年是平年");
            switch (month) {
                case 1:
                    System.out.println(date);
                    break;
                case 2:
                    System.out.println(30 + date);
                    break;
                case 3:
                    System.out.println(58 + date);
                    break;
                case 4:
                    System.out.println(89 + date);
                    break;
                case 5:
                    System.out.println(119 + date);
                    break;
                case 6:
                    System.out.println(150 + date);
                    break;
                case 7:
                    System.out.println(180 + date);
                    break;
                case 8:
                    System.out.println(211 + date);
                    break;
                case 9:
                    System.out.println(242 + date);
                    break;
                case 10:
                    System.out.println(272 + date);
                    break;
                case 11:
                    System.out.println(303 + date);
                    break;
                case 12:
                    System.out.println(334 + date);
                    break;
            }
        }
    }
}

九九口诀

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/9 - 14:28
 */
public class demo02 {
    //九九口诀
    //控制行数
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            //控制列数
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println(" ");
        }
    }
}

求某个数的阶乘和


/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/9 - 15:19
 */
public class demo03 {
    // 求某个数的阶乘和
    public static void main(String[] args) {
        int sum=0;
        for (int i=1;i<=10;i++){
            sum+=jiecheng(i);
            System.out.println(i+"的阶层和是"+sum);
        }

    }
    public static int jiecheng(int num) {
        int re=1;
        for (int i=1;i<num+1;i++){
            re*=i;
            System.out.println(i+"的阶乘是"+re);
        }
        return re;
    }
}


1到100的质数和

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/9 - 15:31
 */
public class demo04 {
    //1到100的质数和
    public static void main(String[] args) {
        int sum=0;
        for (int i=1;i<=100;i++){
            //100到1质数的和(不包括1)
            sum+=zhishu(i);
        }
        System.out.println("质数的和为"+(sum-1));
    }
    //从2开始判断质数
    public static int zhishu(int num){
        boolean flag=true;
        for (int j=2;j<=Math.sqrt(num);j++){
            if (num%j==0) {
                System.out.println(num+"不是质数");
                flag=false;
                break;
            }
        }
        //不是质数
        if (flag==false){
            return 0;
        }else{//是质数
            return num;
        }
    }
}

数组相关

import java.util.Arrays;

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/9 - 16:34
 */
public class demo05 {
    //求数组中的最大值
    public static void main(String[] args) {
        int []arg={12,34,-23,18,90};
        int max=arg[0];
        int min=arg[0];
        Arrays.sort(arg);//调用java的排序
        max=arg[arg.length-1];
        min=arg[0];
        System.out.println("最大值是"+max);
        System.out.println("最小值是"+min);
        System.out.println("从小到大排序后的数组:");
        for (int i=0;i<arg.length;i++){
            System.out.print(arg[i]+"  ");
        }
        //手写求最大值
        int tem=0;
        for (int i=0;i<arg.length-1;i++){
            if (arg[i]>arg[i+1]){
                tem=arg[i];
                arg[i]=arg[i+1];
                arg[i+1]=tem;
            }
        }
        System.out.println("\n max is "+arg[arg.length-1]);
        for (int i=0;i<arg.length-1;i++){
            if (arg[i]<arg[i+1]){//求最小值
                tem=arg[i];
                arg[i]=arg[i+1];
                arg[i+1]=tem;
            }
        }
        System.out.println("min is "+arg[arg.length-1]);

    }
}

冒泡排序

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/9 - 16:53
 */
public class demo07 {
    //冒泡排序,从小到大
    public static void main(String[] args) {
        int[] arr={12,34,56,78,99,28,16};
        //从第一个开始
        //外层循环次数1到6
        for (int i=1;i<arr.length;i++){
            //内层循环次数6到1
            for (int j=0;j<arr.length-i;j++) {
                int m = 0;//临时变量
                if (arr[j]> arr[j+1]) {//大的沉底
                    m = arr[i];
                    arr[j] = arr[j+ 1];
                    arr[j+1] = m;
                }
            }
        }
        for (int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"  ");
        }
    }
}

杨辉三角

/**
 * @author Shangkejie
 * @Class BigData182
 * @date 2019/12/9 - 17:33
 */
public class demo08 {
    //杨辉三角
    public static void main(String[] args) {
        //设置行数
        int hang=10;
        //二维数组存放杨辉三角
        int[][] yanghui = new int [hang][];//10行N列
        //控制列数
        for (int i=0;i<yanghui.length;i++){
            yanghui[i]=new int [i+1];//列数等于行数
        }
        //开始计算杨辉三角
        for (int i=0;i<yanghui.length;i++){//控制行数
            for (int j=0;j<yanghui[i].length;j++){//列数等于行数
                yanghui[i][0]=yanghui[i][i]=1;//对角线和第一列都为1
                if (i>0 && j>0 && j<i){
                    yanghui[i][j]=yanghui[i-1][j]+yanghui[i-1][j-1];//其余的元素等于上一行的数+上一行左边的数
                }
            }
        }
        //输出
        for (int i=0;i<yanghui.length;i++) {
            for (int b=5;b<yanghui.length;b++) {
                System.out.print(" ");
            }
            for (int j = 0; j < yanghui[i].length; j++) {

                System.out.print(yanghui[i][j]+"  ");
            }
            System.out.println(" ");
        }
    }
}
发布了83 篇原创文章 · 获赞 20 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43759910/article/details/103464811
今日推荐