zoukankan      html  css  js  c++  java
  • Code Review

    Java编写的日历,输入年月,输出这个月的日期与星期的code:

    
    import java.util.Scanner;
    
    	public class calendar {
    	    public static void main(String[] args) {
    	        for (int g = 0; g < 100; g++) {
    	            Scanner in = new Scanner(System.in);
    	            System.out.println("
    请输入年份:");
    	            int year = in.nextInt();
    	            System.out.println("请输入月份:");
    	            int month = in.nextInt();
    	            int sum = 0;
    	            int k = 0;
    	            for (int i = 1; i <= month - 1; i++) {
    	                if (i == 2) {
    	                    if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    	                        sum = sum + 29;
    	                    } else {
    	                        sum = sum + 28;
    	                    }
    	                } else {
    	                    if (i == 4 || i == 6 || i == 9 || i == 11) {
    	                        sum = sum + 30;
    	                    } else {
    	                        sum = sum + 31;
    	                    }
    	                }
    	            }
    	            for (int a = 1900; a <= year - 1; a++) {
    	                if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
    	                    sum = sum + 366;
    	                } else {
    	                    sum += 365;
    	                }
    	            }
    	            sum += 1;
    	            int wekday = sum % 7;
    	            System.out.println("日	一	二	三	四	五	六");
    	            for (int j = 1; j <= wekday; j++) {
    	                System.out.print("	");
    	            }
    	            if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    	                if (month == 2) {
    	                    k = 29;
    	                } else if (month == 4 || month == 6 || month == 9 || month == 11) {
    	                    k = 30;
    	                } else {
    	                    k = 31;
    	                }
    	            } else {
    	                if (month == 2) {
    	                    k = 28;
    	                } else if (month == 4 || month == 6 || month == 9 || month == 11) {
    	                    k = 30;
    	                } else {
    	                    k = 31;
    	                }
    	            }
    	            for (int i = 1; i <= k; i++) {
    	                if (sum % 7 == 6) {
    	                    System.out.print(i + "
    ");
    	                } else {
    	                    System.out.print(i + "	");
    	                }
    	                sum++;
    	            }
    	        }
    	    }
    	}
    
    

    备注:

    自我评审 存在的问题
    1 代码没有注释,别人不一定看得懂什么意思
    2 变量要说明代表着什么,不然降低了可读性
    3 命名不规范,大小写不注意,命名没有意义
    4 代码函数比较多的时候,尽量不要使用缩写
    5 实现了功能的同时,我觉得还要注意逻辑顺序编写程序
    6 运行后,没有考虑不输入年份或月份后出现的异常情况怎么处理
    7 运行后,我输入的不是数字而是字母却报错,说明没处理好异常情况
    自我评审 优点
    1 代码格式布局规范
    2 没有冗余的代码,这点很好
    3 代码正确运行后,界面布局日期和星期整齐对齐
  • 相关阅读:
    阿里云安装Mono 发生错误解决方法
    在Entity Framework 中执行Tsql语句
    WinRT app guide
    开源稳定的消息队列 RabbitMQ
    Catpic: OpenSocial Container on .NET
    MSDTC 故障排除
    HTML5 canvas图形库RGraph
    《我的WCF之旅》博文系列汇总
    TSQL Enhancement in SQL Server 2005[下篇]
    谈谈基于SQL Server 的Exception Handling[上篇]
  • 原文地址:https://www.cnblogs.com/xubaby0912/p/6600248.html
Copyright © 2011-2022 走看看