Java万年历、杨辉三角、随机验证码实现

来源:互联网 发布:个人注册顶级域名流程 编辑:程序博客网 时间:2024/04/29 05:58

个人学习案例实现,对条件、循环、数组的应用

Java万年历实现

package cjx913;import java.util.Scanner;public class PrintCalendarDemo1 {/* * 第一、输入年year和月month 第二、判断输入的年year是否闰年 * isLeapYear:year%400==0||(year%4==0&&year%100!=0) 第三、计算月对应的天数 *  * 编程计算输入的月份距离1900年1月1日的天数,求出输入当前月之前的总天数 (计算年的总天数,求输入月份的天数) 编程计算输入月份的第一天是星期几 * (公式:星期几=天数差%7>>前面有几天是空的\t) 格式化输出**年**月(一行输出7个) */public static void main(String[] args) {int year;int month;int day = 0;int totalDays = 0;int xqj;System.out.println("*******************使用万年历*******************");Scanner input = new Scanner(System.in);do {System.out.print("请输入年:");year = input.nextInt();System.out.print("请输入月:");month = input.nextInt();} while (year < 1900 || month > 12);for (int i = 1900; i < year; i++) {totalDays += 365;if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)) {totalDays += 1;}}System.out.println(totalDays);for (int i = 1; i <= month; i++) {switch (i) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:day = 31;break;case 4:case 6:case 9:case 11:day = 30;break;case 2:if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {day = 29;} else {day = 28;}break;}if (i != month) {totalDays += day;}}xqj = totalDays % 7 + 1;// 这个月第一日是星期几System.out.println(year);System.out.println(month);System.out.println(totalDays);System.out.println(xqj);System.out.println("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日");for (int i = 1; i < xqj; i++) {System.out.print("\t");}for (int i = 1; i <= day; i++) {System.out.print(i + "\t");if ((i + xqj-1) % 7 == 0) {System.out.println();}}}}

杨辉三角的实现

package cjx913;import java.util.Scanner;public class TestDemo {public static void main(String[] args) {int row = 20;int [][]arr = new int[row][row];for(int i=0;i<row;i++){for(int j=0;j<=i;j++){if(j==0||j==i){arr[i][j] = 1;}else{arr[i][j] = arr[i-1][j-1]+arr[i-1][j];}System.out.print(arr[i][j]+"\t");}System.out.println();}}}

简单随机验证码的实现

package cjx913;import java.util.Random;public class RandomVerificationCode {public static void main(String[] args) {/* * 验证码由4位字符组成 * 只包含大小写、数字 * 每次生成的验证码不重复 */char[] charArray = new char[62];StringBuilder sb = new StringBuilder(); Random random = new Random();for(int i=0;i<26;i++){charArray[i] = (char)('A'+i);}for(int i=0;i<26;i++){charArray[i+26] = (char)('a'+i);}for(int i=0;i<10;i++){charArray[i+52] = (char)('0'+i);}for(int i=0;i<4;i++){sb.append(charArray[random.nextInt(charArray.length)]);}System.out.println("验证码如下:"+sb.toString().trim());}}