日历的实现及数据库的创建修改等操作
主要内容:
一.介绍万年历程序的写法思路,
通过键盘输入获取获取所需查询的年份和月份:
/**
* 万年历开始
*/
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();} }}
日历的实现及数据库的创建修改等操作相关推荐
- QT QSqlTabModel 学习,用于从数据库中存取修改等操作。
http://mobile.51cto.com/symbian-271567_1.htm 转载于:https://blog.51cto.com/8942041/1599958
- mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除
[数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...
- 【Linux】【服务器】 CentOS7下远程访问mysql数据库_创建用户及授予权限_查看用户、修改密码详细步骤
一.创建用户 CREATE USER 'username'@'%' IDENTIFIED BY 'password'; username:你将创建的用户名: %:指定该用户在哪个主机上可以登录,%表示 ...
- Unknown column 'password_lifetime' in 'field list';创建数据库时创建用户,修改用户时报错
Unknown column 'password_lifetime' in 'field list'创建数据库时创建用户,修改用户时报错 xampp安装较新的版本,通过xampp安装MySQL的是Ma ...
- MySQL笔记(一)创建数据库、创建表、修改表、删除表,以及建立约束
这是我在学习Mysql之路上做的笔记,今天将它粘出来.这一篇比较基础主要是创建数据库.创建表.修改表.删除表,以及建立约束:非空约束.主键约束.外键约束.唯一值约束.有错误的欢迎大家指出... -- ...
- MySQL进阶11--DDL数据库定义语言--库创建/修改/删除--表的创建/修改/删除/复制
/*进阶 11 DDL 数据库定义语言库和表的管理一:库的管理:创建/修改/删除二:表的管理:创建/修改/删除创建: CREATE DATABASE [IF NOT EXISTS] 库名;修改: al ...
- MySQL学习笔记——数据库的创建、修改与删除
目录 一.数据库的创建和管理 1.基础知识 1.1 数据储存过程 1.2 标识符的命名规则 1.3 MySQL中的数据类型: 2.创建和管理数据库 2.1 创建数据库 2.2 管理数据库 2.3 修改 ...
- SQL语句数据库的创建、修改,分离,附加,备份,还原
目录 1.数据库的创建: 2.数据库的修改 3.数据库的分离 4.数据库的附加 5.数据库备份 6.数据库还原 1.数据库的创建: --SCT为要创建的数据库名称 create database SC ...
- mysql怎么删除表中字段的数据库表_Mysql 数据库 表 字段的创建 修改 删除
MYSQL基础上机练习题(一) 数据库.表.字段的创建.修改.删除 一.实验目的: 创建.修改.删除数据库 创建.修改.删除表 创建.修改.删除字段 二.内容: 创建一个用于企业管理的员工管理数据库, ...
最新文章
- VS(Visual Studio)中快速找出含中文的字符串
- 70后、80后、90后程序员区别极端版
- 写了 15 年代码,总结出提升 10 倍效率的三件事
- 【Linux】一步一步学Linux——gdb命令(258)
- POJ-1125 Stockbroker Grapevine 最短路
- java面试题二十六 多线程考题
- lstm 输入数据维度_LSTM 股票市场预测入门
- What can Lines3D Class do?
- P3642 [APIO2016]烟火表演(左偏树、函数)
- 使用Gatling + Gradle + Jenkins Pipeline为您的JAX-RS(和JavaEE)应用程序进行连续压力测试...
- arduinowifi.send怎么获取响应_ChatterBot代码解读-获取对话
- ECCV18 | UC伯克利提出基于自适应相似场的语义分割
- oracle死锁模拟,Oracle死锁的模拟和处理
- java基础巩固笔记(5)-多线程之线程并发库
- C#-gdi绘图,双缓冲绘图,Paint事件的触发
- PRINCE2认证好在哪?
- matlab 空间向量的夹角,空间两向量之间的旋转角如何求?角度范围在0-360°
- 程序员应该如何培养自己的人脉关系
- PHP中smart原则,SMART原则的五大原则是什么
- Java 枚举和泛型