zoukankan      html  css  js  c++  java
  • 循环练习记录

    用IntelliJ IDEA写的代码。

    import java.util.Scanner;

    /**
    * 循环训练
    * 1.计算1+2+3+..+100的和; 2.计算n!; 3.根据出入的年、月、日计算这一天星期几
    */
    public class XunHuan {
    /**
    * 计算1+2+3+..+100的和
    * @param
    */
    static int sum(){
    int s=0;
    int i=1;
    //for(int i=1;i<=100;i++) s=s+i; //用for循环的写法
    while (i<=100){
    s=s+i;
    i=i+1;
    }
    return s;
    }

    /**
    * 计算n!
    * @return 阶乘
    */
    static double jieChen(int n){
    double j=1;
    //for(i=1;i<=n;i++) j=j*i; //用for循环的写法
    while (n>1){
    j=j*n;
    n--;
    }
    return j;
    }

    /**
    * 根据出入的年、月、日计算这一天星期几
    * (基础:1900年1月1日是星期一)
    * @param y 年
    * @param m 月
    * @param d 日
    * @return 星期几
    */
    static String week(int y,int m,int d){
    int days=(y-1900)*365;//days :总天数。从1900到y年的整年总天数(先假设每一年都是365天),暂时不算闰年多一天。
    //加上闰年的天数:
    for (int i=1900;i<y;i++){ //for循环
    if (i%4==0&&i%100!=0||i%400==0) days++; //括号里是闰年的算法
    }
    //加上1到m月的整月天数:
    for (int i=1;i<m;i++){
    switch (i){ //switch 语句用于基于不同的条件来执行不同的动作。
    // 表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行
    case 2:days+=28;
    if (y%4==0&&y%100!=0||y%400==0) days++;break; //使用 break 来阻止代码自动地向下一个 case 运行
    case 4: case 6: case 9: case 11: days+=30;break; //4,6,9,11几个月份时,总天数加30
    default:days+=31;break;
    }
    }
    days+=d;//加上这个月的天数
    String[] s={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; //定义一个数组
    return s[days%7]; //总天数对7取余,余数对应数组中的元素
    }

    //测试
    public static void main(String[] args){
    // 1....100的和 测试
    int s=sum();
    System.out.println("1....100的和是:"+s);
    //阶乘方法 测试
    int n;
    Scanner in=new Scanner(System.in);
    System.out.println("请输入n的值:");
    n=in.nextInt();
    double j=jieChen(n);
    System.out.println(n+"!="+j);
    //输出星期几 测试
    System.out.println("请输入年月日(用空格隔开):");
    int y,m,d;
    y=in.nextInt();m=in.nextInt();d=in.nextInt();
    String w=week(y,m,d);
    System.out.println(y+"年"+m+"月"+d+"日"+" "+w);
    }
    }
  • 相关阅读:
    CodeForces 347B Fixed Points (水题)
    CodeForces 347A Difference Row (水题)
    CodeForces 346A Alice and Bob (数学最大公约数)
    CodeForces 474C Captain Marmot (数学,旋转,暴力)
    CodeForces 474B Worms (水题,二分)
    CodeForces 474A Keyboard (水题)
    压力测试学习(一)
    算法学习(一)五个常用算法概念了解
    C#语言规范
    异常System.Threading.Thread.AbortInternal
  • 原文地址:https://www.cnblogs.com/tian-xin/p/8383820.html
Copyright © 2011-2022 走看看