欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用java一維數(shù)組模擬壓棧彈棧

 更新時(shí)間:2021年04月13日 16:37:52   作者:Lib_Subsidiary  
這篇文章主要介紹了如何使用java一維數(shù)組模擬壓棧彈棧,需要的朋友可以參考下

思路

先進(jìn)后出,優(yōu)先解決壓棧的問題,之后解決彈棧和main方法

功能

  1. 隨時(shí)模擬壓棧
  2. 隨時(shí)模擬彈棧
  3. 防止異常和各種錯(cuò)誤
  4. 隨時(shí)可以遍歷“?!敝写嬖诘淖兞康姆椒?,壓棧彈棧棧幀清晰可見!

使用演示:

壓棧:

在這里插入圖片描述

棧滿檢測:

在這里插入圖片描述

遍歷棧內(nèi)存和棧幀:

只要棧中有變量就會(huì)輸出棧幀:

彈棧:

在這里插入圖片描述

棧空檢測:(沒有變量,棧幀不輸出?。?/strong>

在這里插入圖片描述

源碼:

import java.util.Scanner;
public class MoveTest01 {
    //局部變量供棧方法的遍歷數(shù)組使用
    static int i;
    //創(chuàng)建Object[]數(shù)組,作為棧,并且限制“內(nèi)存上限”為5;
    static Object[] os = new Object[5];
    //創(chuàng)建數(shù)組,模擬入棧
    static num[] l = {new A(),new B(),new C(),new D(),new E(),new F()};
</p>    public static void main(String[] args) {
        int a =0;//遍歷Object[]數(shù)組時(shí)的控制
        boolean c = true;//控制循環(huán)
        boolean d = true;//檢測棧內(nèi)存使用量防止異常
        Scanner s = new Scanner(System.in);
        do {
            System.out.println("===========================");
            System.out.print("請選擇”壓?!啊皬棗!被颉傲谐鰲?nèi)存中儲(chǔ)存的變量指向的方法”,輸入“退出”將會(huì)結(jié)束程序!:");
            String z = s.next();
            //判定用戶輸入
            if (z.equals("壓棧")) {
                //防止數(shù)列超限
                if(a > (os.length - 1)){
                    d = false;
                    System.out.println("棧內(nèi)存已滿!請彈棧后壓棧!");
                }
		if(d){
                  //調(diào)用num[]數(shù)組模擬入棧
                  l[a].leng();
                  a++;                }
                //防止if(d)鎖死
                d = true;
            } else if (z.equals("彈棧")) {
                //調(diào)用pop方法,模擬彈棧,并初始化計(jì)數(shù)
                pop();
                a = 0;
                i = 0;
            } else if (z.equals("退出")) {
                //結(jié)束do...while循環(huán)體
                c = false;
            } else if (z.equals("列出棧內(nèi)存中儲(chǔ)存的變量指向的方法")) {
                int index = -1;//創(chuàng)建棧幀
                if(os[0] == null){
                    System.out.println("棧內(nèi)沒有已裝載的變量!");
                }
                for (int k = os.length - 1; k > -1; k--) {
                    //判定如果Object[]數(shù)組內(nèi)的各個(gè)屬性,如果不等于null則輸出聲明
                    if(!(os[k] == null)){
                        index++;
                        System.out.println("棧內(nèi)存中已入棧的變量的方法有:" + os[k]);
                    }
                }
                //如果棧幀的值不為0,則輸出結(jié)果
                if(!(index == -1)){
                    System.out.println(os[index] + "《== 棧幀指向");
                }
            }
        }while (c);
    }
    //模擬棧
    public static void Zhan(Object o){
        if(i < os.length) {
            //給Object[]數(shù)組賦值
            os[i] = o;
            System.out.println("目標(biāo):" + os[i] + "的所有變量已壓入棧內(nèi)!");
            i++;
        }
    }
</p>    public static void push(String c){
        //接收下面類傳來的參數(shù)并賦值給Zhan()
        Zhan(c);
    }
</p>    public static void pop(){
        //檢測數(shù)組第一位的值是不是空,如果是則輸出消息
        if(os[0] == null){
            System.out.println("棧內(nèi)沒有已裝載的變量!無法彈棧!");
        }
        //模擬彈棧
        for(int k = (os.length - 1);k >= 0;k--){
            //遍歷數(shù)組,將數(shù)組內(nèi)不是null的值全部輸出并初始化為null
            if(!(os[k] == null)) {
                System.out.println(os[k] + "的所有變量:已彈出內(nèi)存!");
                os[k] = null;
            }
        }
    }
}
class num{
    public void leng(){
        //讓下面的方法有個(gè)共同的父類,并且調(diào)用時(shí)統(tǒng)一輸出自己的名字給棧
        MoveTest01.push(getClass().getName());
    }
}
//即將入方法區(qū)的方法,假設(shè)里面有變量(也可以直接把這些方法看成變量);
class A extends num{
    public A() {}
}
class B extends num{
    public B() {}
}
class C extends num{
    public C() {}
}
class D extends num{
    public D() {}
}
class E extends num{
    public E() {}
}
class F extends num{
    public F() {}
}

以上就是使用java一維數(shù)組模擬壓棧彈棧的詳細(xì)內(nèi)容,有興趣的朋友可直接試一試,更多關(guān)于java模擬壓棧彈棧的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java中字符串與日期轉(zhuǎn)換常見方法總結(jié)

    Java中字符串與日期轉(zhuǎn)換常見方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于Java中字符串與日期轉(zhuǎn)換常見方法的相關(guān)資料,在Java編程中經(jīng)常需要將字符串表示的日期轉(zhuǎn)換為日期對象進(jìn)行處理,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • SpringBoot文件訪問映射如何實(shí)現(xiàn)

    SpringBoot文件訪問映射如何實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot文件訪問映射如何實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • java.time包時(shí)間類的具體使用

    java.time包時(shí)間類的具體使用

    本文主要介紹了java.time包時(shí)間類的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Windows10安裝IDEA 2020.1.2的方法步驟

    Windows10安裝IDEA 2020.1.2的方法步驟

    這篇文章主要介紹了Windows10安裝IDEA 2020.1.2的方法步驟,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • mybatis plus in方法使用說明

    mybatis plus in方法使用說明

    這篇文章主要介紹了mybatis plus in方法使用說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔

    Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多個(gè)文檔合并輸出到一個(gè)文檔的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 使用ObjectMapper解析json不用一直new了

    使用ObjectMapper解析json不用一直new了

    這篇文章主要為大家介紹了使用ObjectMapper解析json不用一直new了的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    這篇文章主要為大家介紹了JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 關(guān)于SpringMVC中數(shù)據(jù)綁定@ModelAttribute注解的使用

    關(guān)于SpringMVC中數(shù)據(jù)綁定@ModelAttribute注解的使用

    這篇文章主要介紹了關(guān)于SpringMVC中數(shù)據(jù)綁定@ModelAttribute注解的使用,SpringMVC是一個(gè)基于Spring框架的Web框架,它提供了一種簡單、靈活的方式來開發(fā)Web應(yīng)用程序,在開發(fā)Web應(yīng)用程序時(shí),我們需要將用戶提交的數(shù)據(jù)綁定到我們的Java對象上,需要的朋友可以參考下
    2023-07-07
  • springboot訪問template下的html頁面的實(shí)現(xiàn)配置

    springboot訪問template下的html頁面的實(shí)現(xiàn)配置

    這篇文章主要介紹了springboot訪問template下的html頁面的實(shí)現(xiàn)配置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評論