implementación de Java del sistema de gestión hotelera (similar a Día 16 sistema de gestión de estudiante)

1. La base pre-conocimiento, matriz bidimensional

  • Cuando una matriz bidimensional especial de matriz unidimensional, una matriz unidimensional especial en cada elemento de una matriz que es.
  • Una matriz bidimensional de estática inicialización
    int [] [] = {{A 100 200, 300}, {1,5,6,8}, {0}};
    A [0] .length una matriz primero bidimensional de matriz unidimensional longitud.
    Puede ser empleada suma (new int [] [] {{1,2,3}, {1,6}};
    array bidimensional de leer y cambiar
    la primera toma una matriz unidimensional con las dimensiones de la matriz.
    Int [] b = a [0];
    el primer elemento de una matriz unidimensional: a [0] [0];
    a [0] es un integral, detrás de la [0] se ejecuta en el extremo delantero de la estructura es entonces Zaixun marcar.
  • Cambiar la asignación directa.
    Recorrido de la matriz de dos dimensiones utilizando dos para bucles.
    for (int i = 0; I <ser Array.length, I ++)
    for (int J = 0; J <Array [I] .length.j ++)
  • Inicialización de una dinámica matriz bidimensional
    // La siguiente es una matriz tridimensional, cada matriz unidimensional entre cuatro elementos.
  • int [] [] Array = new int [3] [4];
  • Bidimensionales Parámetros de la matriz de la forma de función de formato de escritura:
    suma (int [] [] arragy);
    Objeto se define como una matriz, todos los tipos de referencia se pueden almacenar. Otras definiciones de clase y sus subclases que se pueden almacenar. Tenga en cuenta que la cadena de Java es objeto de la clase String, no especialización.
    Tales como: Object [] arr = {nuevo marido (), la nueva esposa (), "abc"};
    Rápida categorías: doble cambio en la clase para encontrar la idea.
    (Short ejerce, al pasar de)

2. una matriz de pila analógica

  • Cómo utilizar una sola dimensión pila de simulación matriz? (Pila espacio lleno y la pila requiere para proporcionar consejos)
package package2;
public class Zhan {
    private Object[] elements=new Object[10];
    private int top=-1;
    public Zhan(){

    }
    //压栈
    public void push(Object obj){
      if(this.top>=this.elements.length-1) {
         System.out.println("栈满");
          return;
      }
      this.elements[++top]=obj;
        System.out.println("压栈"+obj+"成功"+top);

    }
//    弹栈
    public void pop() {
    	if(top<0) {
    		System.out.println("弹栈失败,栈已空");
    	}
    	System.out.println("弹栈"+elements[top--]+"元素成功");
    	System.out.println("栈帧指向"+top);
    }
    public Object[] getElements() {
        return elements;
    }

    public void setElements(Object[] elements) {
        this.elements = elements;
    }

    public int getTop() {
        return top;
    }

    public void setTop(int top) {
        this.top = top;
    }
}

package package2;
public class Test10{
	public static void main(String[] args) {
//      创建一个栈对象
      Zhan aa = new Zhan();
//      压栈
      for(int i=0;i<4;i++)
    	  aa.push(new Object());
      aa.pop();
      
	}
}

3. Sistema de Gestión de Hotel

  • Requisitos: programación, que prevé un sistemas de gestión de hotel, reserva de simular, el registro de salida, estado de la habitación de todas las funciones de impresión.

  • Los usuarios recepción del hotel, número de habitación de dos dimensiones matriz de simulación, cada habitación como un objeto, proporcionar reservas externas, Salida, estado de la habitación.

  • siguiente () para leer la siguiente cadena.

  • nextLine () para leer una fila entera de datos

  • Propiedades y métodos para localizar rápidamente el IDEA: Ctrl + F12

  • Ctrl + shift + /

  • Al escribir necesita ser reescrita para cada toString clase y el método es igual, que es un buen hábito, sin tener en cuenta (clase Object método por defecto hereditario) si el uso de la

  • Llamará automáticamente al método toString cuando referencia de salida.

  • public String toString () {
    return "[102, solo inactivo]";
    }

  • boolean equals púbico (Object obj) {
    si (boj = = null) || (obj instanceof habitación))!
    falsa retorno;
    si (esto = = obj) retun verdadera;
    Sala de estar = = (habitación) boj; //向下转型
    this.getNum () = = room.getNum (regreso);
    }

  • número de longitud está representado por matriz bidimensional de filas rooms.length.

  • La longitud del número de columnas de la matriz de dos dimensiones [i] .length representado por habitaciones.

  • Las diferentes clases de la misma clase Escáner su uso en clase, las referencias del escáner pasan pasado como como parámetros.

  • La clase dueño del hotel

package package2;
import java.util.*;
public class QianTai {
	private  static Customers[] dd = new Customers[10000];
	

	/**
	 * 
	 */
	public QianTai() {
		super();
	}


	public Customers[] getDd() {
		return dd;
	}

//添加顾客的方法
	public static void addCustomers(Scanner sc) {
		
		int i=0;
		i++;
		int count =i;
		dd[count]=new Customers();
		System.out.println("请输入顾客姓名:");
		dd[count].setName(sc.next());
		System.out.println("请输入顾客联系方式:");
		dd[count].setNumber(sc.next());
		System.out.println("请输入顾客要充值的数额:");
		dd[count].setYuE(sc.nextDouble());
		
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
//		房间
		@SuppressWarnings("resource")
		Scanner sc = new Scanner(System.in);
		Hotel aa=new Hotel();
		for(int i=0;i<10;i++)
			for(int j=0;j<30;j++) {
				if(i<5)
				  aa.Rooms[i][j]=new Room("大床房","空房",300);
				else
				  aa.Rooms[i][j]=new Room("标准间","空房",300);
			}
    
     while(true) {
    	 System.out.println("=======欢迎使用酒店管理系统!=========="); 
         System.out.println("[1]查询所有房间状况!\n[2]定房间!");
         System.out.println("[3]顾客退房!\n[4]注册vip会员\n[5]退出系统!");
         System.out.println("请输入相应功能编号:");
         int flag =sc.nextInt();
         switch(flag) {
         	case 1:aa.OutPut();break;
         	case 2:aa.YuDing(sc);break;
         	case 3:aa.TuiFang(sc);break;
         	case 4:addCustomers(sc);break;
         	case 5:System.out.println("退出系统成功,祝你生意兴融!");return;
         	default:
         		System.out.println("对不起你输入的功能编号有误,请重新输入!");
         }
       }
  
     }	
			
}

  • clase de clientes
package package2;

public class Customers {
	private String name;
	private String  number;
	private double YuE;
	/**
	 * @param name
	 * @param number
	 * @param yuE
	 */
	public Customers(String name, String number, double yuE) {
		super();
		this.name = name;
		this.number = number;
		YuE = yuE;
	}
	/**
	 * 
	 */
	public Customers() {
		super();
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}
	public double getYuE() {
		return YuE;
	}
	public void setYuE(double yuE) {
		YuE = yuE;
	}
	
	
}



  • sala de clase
package package2;

public class Room extends Hotel {
	private String Leixing;
	private String ZhuangTai;
	private double price;
	/**
	 * @param leixing
	 * @param zhuangTai
	 * @param price
	 */
	public Room(String leixing, String zhuangTai, double price) {
		super();
		Leixing = leixing;
		ZhuangTai = zhuangTai;
		this.price = price;
	}
	public String getLeixing() {
		return Leixing;
	}
	public void setLeixing(String leixing) {
		Leixing = leixing;
	}
	public String getZhuangTai() {
		return ZhuangTai;
	}
	public void setZhuangTai(String zhuangTai) {
		ZhuangTai = zhuangTai;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	
	
}

  • una clase de hotel
package package2;
import java.util.*;
public class Hotel {
	Room[][] Rooms=new Room[10][30];
	
	public Hotel() {
		super();
	}

	public Room[][] getRooms() {
		return Rooms;
	}


	public void setRooms(Room[][] rooms) {
		Rooms = rooms;
	}


	/**
	 * @param rooms
	 */
	public Hotel(Room[][] rooms) {
		super();
		Rooms = rooms;
	}




	//	预定方法
	public void YuDing(Scanner Scan) {
		System.out.println("请输入要预定的房间楼层:");
		int Ceng = Scan.nextInt();
		System.out.println("请输入你要预定的房间号:");
		int Hao = Scan.nextInt();
		if(Ceng>10||Ceng<0||Hao>30||Hao<0) {
			System.out.println("对不起,没有此房间哦!");
			return;
		}
		else if("空房".equals(Rooms[Ceng-1][Hao-1].getZhuangTai())) {
			System.out.println("预定成功,欢迎入住!房间密码为:"+"0096"+(Ceng-1)+(Hao-1)+"请注意保管密码!");
			Rooms[Ceng-1][Hao-1].setZhuangTai("房满");
		}
		else
			System.out.println("预定失败,该房间已被订购,请选择其它房间吧!");
	    
	}


//	退房方法
	public void TuiFang(Scanner Scan) {
		System.out.println("请输入要退订的房间楼层:");
		int Ceng = Scan.nextInt();
		System.out.println("请输入你要退订的房间号:");
		int Hao = Scan.nextInt();
		if(Ceng>10||Ceng<0||Hao>30||Hao<0) {
			System.out.println("对不起,没有此房间哦!");
			return;
		}
		else if("房满".equals(Rooms[Ceng-1][Hao-1].getZhuangTai())) {
			System.out.println("退订成功,欢迎下次入住酒店!");
			Rooms[Ceng-1][Hao-1].setZhuangTai("空房");
		}
		else
			System.out.println("退订失败,该房间没住客人哦!");
	    
	}
//	所有房间状态
	public void OutPut() {
		
		for(int i=0;i<10;i++)
			for(int j=0;j<30;j++) {
				System.out.println((i+1)+"楼"+"  房间号为"+(j+1));
		System.out.println(Rooms[i][j].getLeixing()+"  "+Rooms[i][j].getZhuangTai()+"  "+Rooms[i][j].getPrice()+"元");
		System.out.println();
	}

 }

}

Para que desear

Salir del programa o los datos no se pueden guardar después de un corte de energía, que se puede utilizar para lograr su propia base de datos, o la documentación apropiada; Otra desventaja de la mala interacción puede ser utilizado para lograr un cierto código de interfaz de usuario de arriba!
Aquí Insertar imagen Descripción

Publicado 50 artículos originales · ganado elogios 8 · vistas 3065

Supongo que te gusta

Origin blog.csdn.net/jiahuan_/article/details/105112176
Recomendado
Clasificación