1.=====================
package pratice;
import java.util.Calendar;
import java.util.Scanner;
public class CalEx {
/**
* 通过输入一个年月日 获取到当月的这个日历 打印出来 并且[]把输入的这个日期包起来
*
*/
public static void main(String[] args) {
CalEx cal = new CalEx();
cal.year = cal.getInput("年");
cal.month = cal.getInput("月");
cal.day = cal.getInput("日期");
cal.printCal();
}
private int year;
private int month;
private int day;
public int getInput(String str){
System.out.println("请输入"+str);
return new Scanner(System.in).nextInt();
}
public void printCal(){
// 日历 6行 7列 通过Caldendar.set(year, month, day) 当月的日历
int[][] arr = new int[6][7];
Calendar cal = Calendar.getInstance();
cal.set(year, month, 0);
int max = cal.get(Calendar.DAY_OF_MONTH);
// 星期天开始的
for(int i=1;i<=max;i++){
cal.set(year, month-1, i);
int row = cal.get(Calendar.WEEK_OF_MONTH)-1;
int col = cal.get(Calendar.DAY_OF_WEEK)-1;
arr[row][col] = i;
}
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int x=0;x<arr.length;x++){
for(int y=0;y<arr[x].length;y++){
if(arr[x][y] != 0){
if(arr[x][y] == day){
System.out.print("["+arr[x][y]+"]");
}else{
System.out.print(arr[x][y]);
}
}
System.out.print("\t");
}
System.out.println();
}
}
}
2.订房小程序
package pratice;
import java.util.Scanner;
public class Hotel {
public static void main(String[] args) {
Hotel hotel = new Hotel();
hotel.printRooms();
Scanner in = new Scanner(System.in);
while(true){
System.out.println("请输入操作 1:订房 2:退房 3:退出");
int num = in.nextInt();
switch (num) {
case 1:
System.out.println("请输入房间号");
hotel.order(in.next());
break;
case 2:
System.out.println("请输入房间号");
hotel.back(in.next());
break;
default:
System.exit(0);
break;
}
}
}
// 容器装所有的房间
public Room[][] rooms;
public Hotel(){
this(3, 5);
}
private Hotel(int row, int num) {
// 未占用的状态
rooms = new Room[row][num];
for(int i=0;i<rooms.length;i++){
for(int j=0;j<rooms[i].length;j++){
if(i == 0){
rooms[i][j] = new Room("普通间", ""+(i+1)+0+j,false);
}
if(i == 1){
rooms[i][j] = new Room("双人间", ""+(i+1)+0+j,false);
}
if(i == 2){
rooms[i][j] = new Room("豪华间", ""+(i+1)+0+j,false);
}
}
}
}
public void order(String num){
boolean flag = true;
// 每次订房间的时候 需要去检查一下这个房间是不是被定了
for(int i=0;i<rooms.length;i++){
for(int j=0;j<rooms[i].length;j++){
if(rooms[i][j].getNum().equals(num) && rooms[i][j].isUse() == false){
System.out.println("恭喜开房成功");
rooms[i][j].setUse(true);
flag = false;
}
}
}
printRooms();
if(flag){
System.out.println("不好意思这个房间已经被占用了");
}
}
public void back(String num){
boolean flag = true;
// 每次订房间的时候 需要去检查一下这个房间是不是被定了
for(int i=0;i<rooms.length;i++){
for(int j=0;j<rooms[i].length;j++){
if(rooms[i][j].getNum().equals(num) && rooms[i][j].isUse() == true){
System.out.println("退房成功,欢迎下次再来");
rooms[i][j].setUse(false);
flag = false;
}
}
}
printRooms();
if(flag){
System.out.println("你咋这么秀呢");
}
}
public void printRooms(){
for(int i=0;i<rooms.length;i++){
for(int j=0;j<rooms[i].length;j++){
System.out.print(rooms[i][j] + " ");
}
System.out.println();
}
}
}
=====================================
package pratice;
public class Room {
//房间类型
private String type;
//房间号
private String num;
//状态
private boolean isUse;
public Room(String type, String num, boolean isUse) {
super();
this.type = type;
this.num = num;
this.isUse = isUse;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public boolean isUse() {
return isUse;
}
public void setUse(boolean isUse) {
this.isUse = isUse;
}
@Override
public String toString() {
return "Room [type=" + type + ", num=" + num + ", isUse=" + isUse + "]";
}
}