主要内容:

一.介绍万年历程序的写法思路,

通过键盘输入获取获取所需查询的年份和月份:

/**
 *
万年历开始
 */

public void start(){

Scanner scanner = new Scanner(System.in);

System.out.println("---------------------万年历-------------------------");
    System.out.println("请输入查看的年份:");
    int year = scanner.nextInt();
    System.out.println("请输入查看的月份:");
    int month = scanner.nextInt();

将每月的天数与当天的星期数对应(其中1900年的1月1为星期一,所以以这一天为标准进行计算)

/*** 计算1900至所输年份间的总天数*/public int totalYearDays(int year){//声明返回的总天数int totalDays = 0;for(int i = 1900; i < year; i++){//判断当前年份是否是闰年if(isLeapYear(i)){totalDays+=366;}else{totalDays+=365;}}return totalDays;}

在计算每一年的日期时要判断是否为闰年,引入isLeapYear(i):

/*** 判断是否是闰年* @param year* @return*/public boolean isLeapYear(int year){if(year%4 == 0 && year%100 != 0 || year%400 == 0){return true;}return false;}

输入月份后对月份的总天数进行计算:

/*** 计算1月至所输月份间的总天数* @param month* @param year* @return*/public int totalMonthDays(int month,int year){//声明返回值int totalDays = 0;for(int i = 1; i < month; i++){//判断每个月的情况int days = getMonthDays(i, year);//累加每月的天数totalDays+=days;}return totalDays;}

其中月份分大月,小月和二月3种情况,用switch语句进行判断:

/*** 计算获取输入月份的天数* @param month* @param year* @return*///            大月public int getMonthDays(int month,int year){int days = 0;switch(month){//2月case 2://判断闰年if(isLeapYear(year)){days = 29;}else{days = 28;}break;//小月case 4:case 6:case 9:case 11:days  = 30;break;default:days = 31;break;}return days;

输出时将天数与星期数相对应:

/*** 打印日历*/public void typeCalendar(int week,int month,int year){System.out.println("一\t二\t三\t四\t五\t六\t日");//根据星期数决定1号打印的位置for(int i = 1; i < week; i++){System.out.print("\t");}//计算输入月份的总天数int days = getMonthDays(month,year);//打印该月的每一天for(int i = 1; i <= days; i++){System.out.print(i+"\t");//判断每一天是否是周日if((cacheTotalDays+i)%7 == 0){System.out.println();
二 .数据库的介绍:
1.数据库的安装;
2.数据库的创建查询修改:
-- 创建数据库
create database testDB;
-- 切换数据库
use testDB;
-- 创建数据表
create table users
(
        userid int,
        username varchar(100),
        age int,
        birthday date
);
-- 新增数据
insert into users values(1001,'Jerry',20,'1995-5-3');
3.Java 连接数据库及对数据库进行更改:
package com.igeek.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.Scanner;public class Demo1 {public static void main(String[] args) {//使用ctrl+alt+t  选择try-catch 对可能产生异常的代码进行异常捕获try {//加载驱动Class.forName("com.mysql.jdbc.Driver");//通过驱动管理器获得数据库的连接//url统一资源定位,用于在网络中访问指定位置的资源//url的结构: 协议名://访问资源所在的IP地址:提供资源的端口号/资源路径Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/testDB", "root", "root");System.out.println("数据库连接成功");//创建处理器,用于执行SQL语句//PreparedStatement pstm = connection.prepareStatement("update emp set salary=5000 where employee_id=198");Scanner scanner = new Scanner(System.in);System.out.println("请输入要修改的员工工号:");int empId = scanner.nextInt();System.out.println("请输入要修改的薪资:");double salary = scanner.nextDouble();PreparedStatement pstmt = connection.prepareStatement("update emp set salary=? where employee_id=?");//为占位符注入参数值pstmt.setDouble(1, salary);pstmt.setInt(2, empId);//执行SQL语句 executeUpdate该用于执行增删改,返回受影响的记录行数int count = pstmt.executeUpdate();if(count > 0){System.out.println("执行成功");}} catch (Exception e){e.printStackTrace();}
}}

日历的实现及数据库的创建修改等操作相关推荐

  1. QT QSqlTabModel 学习,用于从数据库中存取修改等操作。

    http://mobile.51cto.com/symbian-271567_1.htm 转载于:https://blog.51cto.com/8942041/1599958

  2. mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除

    [数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...

  3. 【Linux】【服务器】 CentOS7下远程访问mysql数据库_创建用户及授予权限_查看用户、修改密码详细步骤

    一.创建用户 CREATE USER 'username'@'%' IDENTIFIED BY 'password'; username:你将创建的用户名: %:指定该用户在哪个主机上可以登录,%表示 ...

  4. Unknown column 'password_lifetime' in 'field list';创建数据库时创建用户,修改用户时报错

    Unknown column 'password_lifetime' in 'field list'创建数据库时创建用户,修改用户时报错 xampp安装较新的版本,通过xampp安装MySQL的是Ma ...

  5. MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束

    这是我在学习Mysql之路上做的笔记,今天将它粘出来.这一篇比较基础主要是创建数据库.创建表.修改表.删除表,以及建立约束:非空约束.主键约束.外键约束.唯一值约束.有错误的欢迎大家指出... -- ...

  6. MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制

    /*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...

  7. MySQL学习笔记——数据库的创建、修改与删除

    目录 一.数据库的创建和管理 1.基础知识 1.1 数据储存过程 1.2 标识符的命名规则 1.3 MySQL中的数据类型: 2.创建和管理数据库 2.1 创建数据库 2.2 管理数据库 2.3 修改 ...

  8. SQL语句数据库的创建、修改,分离,附加,备份,还原

    目录 1.数据库的创建: 2.数据库的修改 3.数据库的分离 4.数据库的附加 5.数据库备份 6.数据库还原 1.数据库的创建: --SCT为要创建的数据库名称 create database SC ...

  9. mysql怎么删除表中字段的数据库表_Mysql 数据库 表 字段的创建 修改 删除

    MYSQL基础上机练习题(一) 数据库.表.字段的创建.修改.删除 一.实验目的: 创建.修改.删除数据库 创建.修改.删除表 创建.修改.删除字段 二.内容: 创建一个用于企业管理的员工管理数据库, ...

最新文章

  1. VS(Visual Studio)中快速找出含中文的字符串
  2. 70后、80后、90后程序员区别极端版
  3. 写了 15 年代码,总结出提升 10 倍效率的三件事
  4. 【Linux】一步一步学Linux——gdb命令(258)
  5. POJ-1125 Stockbroker Grapevine 最短路
  6. java面试题二十六 多线程考题
  7. lstm 输入数据维度_LSTM 股票市场预测入门
  8. What can Lines3D Class do?
  9. P3642 [APIO2016]烟火表演(左偏树、函数)
  10. 使用Gatling + Gradle + Jenkins Pipeline为您的JAX-RS(和JavaEE)应用程序进行连续压力测试...
  11. arduinowifi.send怎么获取响应_ChatterBot代码解读-获取对话
  12. ECCV18 | UC伯克利提出基于自适应相似场的语义分割
  13. oracle死锁模拟,Oracle死锁的模拟和处理
  14. java基础巩固笔记(5)-多线程之线程并发库
  15. C#-gdi绘图,双缓冲绘图,Paint事件的触发
  16. PRINCE2认证好在哪?
  17. matlab 空间向量的夹角,空间两向量之间的旋转角如何求?角度范围在0-360°
  18. 程序员应该如何培养自己的人脉关系
  19. PHP中smart原则,SMART原则的五大原则是什么
  20. Java 枚举和泛型

热门文章

  1. PHP调用京东联盟开普勒、宙斯API模板
  2. Python基础(九)Python3 面向对象
  3. React详细教学(一)
  4. 如何将Firebase Analytics添加到NativeScript移动应用程序中
  5. 为什么汽车的中控屏不能用平板代替?
  6. IDEA 设置默认注释模板
  7. linux下如何更好地防御CC攻击
  8. Python异步编程——aiohttp 发起异步请求
  9. PyOpenCV图像逆时针旋转90度
  10. Caddy静态资源服务器