Directorio artículo
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!