最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)停車(chē)場(chǎng)管理系統(tǒng)

 更新時(shí)間:2019年11月27日 14:01:16   作者:wangyi463295828  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)停車(chē)場(chǎng)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java停車(chē)場(chǎng)管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

//車(chē)的類(lèi)

public class car{
 public String number;//車(chē)牌號(hào)
 public int inhour;  //進(jìn)入小時(shí)
 public int inminute; //進(jìn)入分 
 public int insecond; //進(jìn)入秒
 public int outhour; //開(kāi)出小時(shí)
 public int outminute; //開(kāi)出分 
 public int outsecond; //開(kāi)出秒
 public int count; //倒車(chē)次數(shù)
 public car link;  //隊(duì)列的指針

//構(gòu)造方法1
 public car(String num){
 this.number=num;
 this.inhour=0;
 this.inminute=0;
 this.insecond=0;
 this.outhour=0;
 this.outminute=0;
 this.outsecond=0;
 int count=0;
 car link=null;

 }

//構(gòu)造方法2
 public car(){
 this.number="";
 this.inhour=0;
 this.inminute=0;
 this.insecond=0;
 this.outhour=0;
 this.outminute=0;
 this.outsecond=0;
 int count=0;
 car link=null;
 }
 
 //成員方法:得到指針
 public car getLink(){
 return link;
 }

 //成員方 法:修改指針
 public void setLink(car n){
 link=n;
 }

 //成員方法;得到車(chē)牌號(hào)
 public String getNum(){
 return number;

}
 
}

++++++++++++++++++++++

//停車(chē)場(chǎng)基于順序存儲(chǔ)結(jié)構(gòu) 棧//停車(chē)場(chǎng)基于順序存儲(chǔ)結(jié)構(gòu) 棧

import java.util.Date;

public class mylist{
 public int Length1; 
 public int Length2;
 public car[] carStark1; //停車(chē)場(chǎng)
 public car[] carStark2; //用于倒車(chē)的臨時(shí)棧

 //構(gòu)造方法
 public mylist(){
 carStark1 =new car[5]; //5個(gè)車(chē)位的停車(chē)場(chǎng) 即棧1
 carStark2 =new car[5]; //倒車(chē)的臨時(shí)棧 車(chē)位也為5 即棧2
 Length1=0;
 Length2=0;
 }

//入棧 同時(shí)將系統(tǒng)時(shí)間壓入
 public void push(String value){
 car newcar=new car(value);
 int n=Length1;
 carStark1[n]=newcar;
 Date now = new Date(); //時(shí)間類(lèi)
 int hour = now.getHours();
 int minute = now.getMinutes();
 int second = now.getSeconds();
 carStark1[n].inhour=hour;
 carStark1[n].inminute=minute;
 carStark1[n].insecond=second;
 Length1++;
 
 }
 //由棧2回到棧1
 public void push2(){
 int n=Length1;
 carStark1[n]=getTop2();
 Length1++;
 Length2--;
 
 }
 //出棧1 入棧2
 public void pop(){
 car temp =getTop1();
 int n=Length2;
    carStark2[n]=temp;
 carStark2[n].count++;
   Length1--;
 Length2++;
 }
 //出棧2
 public void pop3(){
 Length2--;
 }

 //有時(shí)間的出棧1 并且暫時(shí)入棧2
 public void pop2(){
 int n=Length1-1;
 Date now = new Date();
 int hour = now.getHours();
 int minute = now.getMinutes();
 int second = now.getSeconds();
 carStark1[n].outhour=hour;
 carStark1[n].outminute=minute;
 carStark1[n].outsecond=second;
 car temp = getTop1();
 carStark2[Length2]=temp;
 Length1--;
 Length2++;

 }
 //得到棧1頂元素
 public car getTop1(){
 return carStark1[Length1-1];
 }
 //得到棧2頂元素
 public car getTop2(){
 return carStark2[Length2-1];
 }
 //停車(chē)場(chǎng)里有幾輛車(chē)
 public int getLength(){
 return Length1;
 }
  //獲得停車(chē)場(chǎng)中第i號(hào)車(chē)位的車(chē)牌號(hào)
 public String getNum(int i){
 return carStark1[i-1].number;
 }

//察看車(chē)位情況
 public void print(){
 int i=0;
 for(i=0;i<Length1;i++){
  System.out.println(i+1+"號(hào)車(chē)位:"+carStark1[i].number);
 }
 }

++++++++++++++++++++++++++++++

//隊(duì)列基于單向鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

import java.lang.*;
import java.util.*;

//隊(duì)列 
public class myQueue  
{
 
 car header;
 car current;
 int size;
 
 //構(gòu)造方法:建立一個(gè)空表
 public myQueue()    
 {
 header=new car("");
 current=header;
 size = 0;
 }

 //把當(dāng)前位置之后插入一個(gè)新結(jié)點(diǎn)
 public void insertcar(String value){
 car newcar=new car(value);
 newcar.setLink(current.link);
 current.setLink(newcar);
 current=newcar; 
 size += 1;
 System.out.println("*********************************************");
 System.out.println("您的車(chē)牌號(hào):"+newcar.number);
 System.out.println("停車(chē)場(chǎng)已滿,您現(xiàn)在在等待中,您的位置是"+size+"個(gè)位置"); 
 System.out.println("*********************************************");
 }
 
 
 //刪除當(dāng)前位置結(jié)點(diǎn)后面的結(jié)點(diǎn)
 public void delete(){     
 car replace;
 replace = current.link;
 if (replace == null) return;
 current.setLink(replace.link);
 replace=null;
 size -= 1;
 }

 //刪除第i個(gè)結(jié)點(diǎn)
 public void delete(int i) {    
 if(i>size || i<=0) return;
 locate(i-1);
 delete(); 
 }


 
 
 //由當(dāng)前結(jié)點(diǎn)到下一個(gè)結(jié)點(diǎn)
 public car getNext(){     
 if(current == null) return null;
 current=current.link;
 return current;
 }


 //得到隊(duì)列的左后一輛車(chē)
 public car getLast() {     
 while (current.link!=null)
 {
  getNext();
 }
 return current;
 }
 

 //由車(chē)牌號(hào)找到車(chē)
 public car find(String value){     
 current=header;
 while(current.number!=value)
 {
  if (current.link==null)
  {
  System.out.println("找不到需要的數(shù)?。。?!");
  current=header;
  break;
  }
  current=current.link;

 }
 return current;
 }

  //取得第m 位置的元素 
 public car locate(int m ){     
 if (m > size) return null;
 current=header;
 int i;
 for (i=m;i>0;i--)
  {
  getNext();
  }
 return current;
 }


 //取得第一個(gè)元素
 public car getHeader()   
 {
 return header.link;
 }
 
 //隊(duì)列里有多少車(chē)
 public int getLength()    
 {  
 return size;
 }
 

//察看車(chē)位
 public void print()
 {
 current=header.getLink();
 while(current!=null){
  int i=1;
  System.out.print(i+"號(hào)車(chē)位:"+current.getNum());
  System.out.println(" ");
  i++;
  getNext();
 }
 }
 }

+++++++++++++++++++++++++

//執(zhí)行程序

import java.io.*;
import java.lang.*;


public class DemoParking{
 public mylist parking; //停車(chē)場(chǎng)
 public myQueue waiting; //隊(duì)列
 public String x1;  //選擇
 public String x2;  //開(kāi)入的車(chē)牌號(hào)
 public String x3;  //開(kāi)出的車(chē)牌號(hào)


  //構(gòu)造方法
 public  DemoParking(){
  parking=new mylist();  //初始化棧
  waiting=new myQueue();  //初始化隊(duì)列
  x1="";
  x2="";
  x3="";
 }


   // 成員方法:菜單
 public void menu(){    
 System.out.println("                      ");
 System.out.println("                      ");
   System.out.println("       歡迎進(jìn)入停車(chē)場(chǎng)系統(tǒng)       ");
 System.out.println("*********************************************");
 System.out.println("*  本停車(chē)場(chǎng)每秒收費(fèi)1元 停車(chē)場(chǎng)內(nèi)有5個(gè)車(chē)位  *");
 System.out.println("*    倒車(chē)一次返回2元(最少不收費(fèi)!)    *");
 System.out.println("*********************************************");
 System.out.println("    1:開(kāi)進(jìn)");
 System.out.println("    2:開(kāi)出");
 System.out.println("    3:車(chē)位情況");
 System.out.println("    4:退出");  //+++++++++++++++++++++++++++
 System.out.print("請(qǐng)選擇:");
  
 try{
  BufferedReader keyin = new BufferedReader(
  new InputStreamReader(System.in));
 x1 = keyin.readLine();

  
 }
 catch (IOException e)
 {
  System.out.print("出錯(cuò)了");
 }
 choice();
 
 

 }

  //成員方法:選擇
 public void choice(){
  if(x1.equals("1")){  //輸入1 開(kāi)入
  System.out.print("請(qǐng)輸入車(chē)牌號(hào):");
  try{
     BufferedReader keyin1 = new BufferedReader(
        new InputStreamReader(System.in));
   x2 =new String( keyin1.readLine());
  }
  catch (IOException e){
      System.out.print("出錯(cuò)了");
     }
   in(x2);     
   menu();
  }

  if(x1.equals("2")){  //輸入2 開(kāi)出
   System.out.print("請(qǐng)輸入車(chē)牌號(hào):");
   try{
     BufferedReader keyin1 = new BufferedReader(
        new InputStreamReader(System.in));
   x3 =new String( keyin1.readLine());
   }
   catch (IOException e){
      System.out.print("出錯(cuò)了");
      }
   out(x3);      
  }
  if(x1.equals("3")){  //輸入3 查詢(xún)
   Allprint();
   menu();
  }
  if(x1.equals("4")){  //輸入4 退出
   
  }

  else{  //輸入不符合規(guī)定 返回菜單
   menu();
  }
 }


  //成員方法:開(kāi)入車(chē)
 public void in(String value){
 if (parking.getLength()<5){ //入棧
  parking.push(value);
  System.out.println("*********************************************");
  System.out.println("您的車(chē)牌號(hào):"+parking.getTop1().number);
  System.out.println("進(jìn)入停車(chē)場(chǎng)時(shí)間:"+parking.getTop1().inhour+":"+parking.getTop1().inminute+":"+parking.getTop1().insecond);
  System.out.println("*********************************************");
 }else{
  waiting.insertcar(value); //入隊(duì)列
 }
 }


  //成員方法:開(kāi)出車(chē)
 public void out(String value){
  int i=parking.getLength();
  int b=parking.getLength();
  //只有棧里有車(chē) 查找到開(kāi)出
  if(waiting.getLength()==0){
  while(parking.getTop1().number.equals(value)==false){
   parking.pop();   //開(kāi)始倒車(chē)
   i--;
  }
  parking.pop2(); //開(kāi)出這輛車(chē) 進(jìn)入棧2
  System.out.println("*********************************************");
  System.out.println("     您的車(chē)牌號(hào):"+parking.getTop2().number);
  System.out.println("     進(jìn)入時(shí)間:"+parking.getTop2().inhour+":"+parking.getTop2().inminute+":"+parking.getTop2().insecond);
  System.out.println("     離開(kāi)時(shí)間:"+parking.getTop2().outhour+":"+parking.getTop2().outminute+":"+parking.getTop2().outsecond);
  System.out.println("     倒車(chē)次數(shù):"+parking.getTop2().count);
  int s=((parking.getTop2().outhour-parking.getTop2().inhour)*60+parking.getTop2().outminute-parking.getTop2().inminute)*60+parking.getTop2().outsecond-parking.getTop2().insecond-2*parking.getTop2().count;
  System.out.println("     您的費(fèi)用:"+s+"元");
  System.out.println("     歡迎下次再來(lái)!@_@再見(jiàn)");
  System.out.println("*********************************************");
  parking.pop3(); //再?gòu)臈?中彈出
  if(i==b){
  }else{
   for(int n=i;n<b;n++){  //將車(chē)倒回棧1
   parking.push2();
   }
  }

  }else{
  //看在隊(duì)列還是在棧里
  while(parking.getNum(i).equals(value)==false){ //棧
   i--;
   if(i==0){ //檢驗(yàn)隊(duì)列
   int a=waiting.getLength();
   while(waiting.locate(a).number.equals(value)==false){
    a--;
   }
    
   System.out.println("*********************************************");
   System.out.println("     您的車(chē)牌號(hào):"+waiting.locate(a).number);
   System.out.println("     歡迎下次再來(lái)!@_@再見(jiàn)");
   System.out.println("*********************************************");
   waiting.delete(a);
   break;
    
   }
   
  }
  if(i>0){  //要開(kāi)出的車(chē)在棧里
   int c=i;
   for(;i<b;i++){
   parking.pop();
   }
   parking.pop2();
   System.out.println("*********************************************");
   System.out.println("     您的車(chē)牌號(hào):"+parking.getTop2().number);
   System.out.println("     進(jìn)入時(shí)間:"+parking.getTop2().inhour+":"+parking.getTop2().inminute+":"+parking.getTop2().insecond);
   System.out.println("     離開(kāi)時(shí)間:"+parking.getTop2().outhour+":"+parking.getTop2().outminute+":"+parking.getTop2().outsecond);
   System.out.println("     倒車(chē)次數(shù):"+parking.getTop2().count);
   int s=((parking.getTop2().outhour-parking.getTop2().inhour)*60+parking.getTop2().outminute-parking.getTop2().inminute)*60+parking.getTop2().outsecond-parking.getTop2().insecond-2*parking.getTop2().count;
   if(s<0){
   s=0; //費(fèi)用最少為0
   }
   System.out.println("     您的費(fèi)用:"+s); //利用時(shí)間計(jì)算費(fèi)用
   System.out.println("     歡迎下次再來(lái)!@_@再見(jiàn)");
   System.out.println("*********************************************");
   parking.pop3();
   for(;c<b;c++){   
   parking.push2();
   }
   parking.push(waiting.getHeader().number);  //隊(duì)列的第一個(gè)元素入棧
    waiting.delete(1); //刪除隊(duì)列的第一個(gè)元素

  }
   }
 }

 //查詢(xún)車(chē)位情況 包括棧中和隊(duì)列中的
 public void Allprint(){
 System.out.println("*********************************************");
 System.out.println("停車(chē)場(chǎng)中:");
 parking.print();
 if(waiting.getLength()>0){
  System.out.println("等待中:");
  waiting.print();
 }
 System.out.println("*********************************************");
 }
 
 
public static void main(String[] args)throws IOException{ //應(yīng)用?。?
 DemoParking demo=new DemoParking();
 demo.menu();

}

}

更多學(xué)習(xí)資料請(qǐng)關(guān)注專(zhuān)題《管理系統(tǒng)開(kāi)發(fā)》。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在mybatis 中使用if else 進(jìn)行判斷的操作

    在mybatis 中使用if else 進(jìn)行判斷的操作

    這篇文章主要介紹了在mybatis 中使用if else 進(jìn)行判斷的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • SpringBoot全局異常處理機(jī)制和配置攔截器方式

    SpringBoot全局異常處理機(jī)制和配置攔截器方式

    這篇文章主要介紹了SpringBoot全局異常處理機(jī)制和配置攔截器方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • JAVA JNI原理詳細(xì)介紹及簡(jiǎn)單實(shí)例代碼

    JAVA JNI原理詳細(xì)介紹及簡(jiǎn)單實(shí)例代碼

    這篇文章主要介紹了JAVA JNI原理的相關(guān)資料,這里提供簡(jiǎn)單實(shí)例代碼,需要的朋友可以參考下
    2016-12-12
  • Java lambda表達(dá)式實(shí)現(xiàn)Flink WordCount過(guò)程解析

    Java lambda表達(dá)式實(shí)現(xiàn)Flink WordCount過(guò)程解析

    這篇文章主要介紹了Java lambda表達(dá)式實(shí)現(xiàn)Flink WordCount過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • springboot 多環(huán)境切換的方法

    springboot 多環(huán)境切換的方法

    這篇文章主要介紹了springboot 多環(huán)境切換的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Map如何根據(jù)key指定條件進(jìn)行過(guò)濾篩選

    Map如何根據(jù)key指定條件進(jìn)行過(guò)濾篩選

    這篇文章主要介紹了Map如何根據(jù)key指定條件進(jìn)行過(guò)濾篩選問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • bootstrap.yml如何讀取nacos配置中心的配置文件

    bootstrap.yml如何讀取nacos配置中心的配置文件

    這篇文章主要介紹了bootstrap.yml讀取nacos配置中心的配置文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 超詳細(xì)講解Java異常

    超詳細(xì)講解Java異常

    Java 異常機(jī)制可以使程序中異常處理代碼和正常業(yè)務(wù)代碼分離,保證程序代碼更加優(yōu)雅,并提高程序健壯性。本文超詳細(xì)講解了Java異常,感興趣的小伙伴可以參考一下這篇文章
    2021-09-09
  • JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式

    JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式

    這篇文章主要介紹了JavaWeb?使用DBUtils實(shí)現(xiàn)增刪改查方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 云服務(wù)器環(huán)境搭建及部署(jdk、mysql、redis、nginx環(huán)境搭建)詳細(xì)步驟

    云服務(wù)器環(huán)境搭建及部署(jdk、mysql、redis、nginx環(huán)境搭建)詳細(xì)步驟

    這篇文章主要給大家介紹了關(guān)于云服務(wù)器環(huán)境搭建及部署(jdk、mysql、redis、nginx環(huán)境搭建)詳細(xì)步驟的相關(guān)資料,要在云服務(wù)器上搭建JDK、MySQL、Redis和Nginx的環(huán)境,可以按照以下步驟進(jìn)行操作,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

翁牛特旗| 南平市| 三都| 温州市| 荆州市| 枞阳县| 涞水县| 南皮县| 花垣县| 肇源县| 翁源县| 余姚市| 兴文县| 客服| 色达县| 泗阳县| 社会| 中方县| 仁布县| 通榆县| 泾阳县| 宜兴市| 获嘉县| 竹北市| 通榆县| 吉安市| 开江县| 察雅县| 平顺县| 安远县| 易门县| 民和| 绩溪县| 博罗县| 云龙县| 保亭| 泉州市| 无为县| 灌云县| 舟山市| 英超|