使用数组模拟栈的相关操作【栈1.1】

public class ArrayStackDemo {public static void main(String[] args) {ArrayStack arrayStack = new ArrayStack(4);Scanner sc = new Scanner(System.in);boolean loop = true;char key = ' ';while (loop) {System.out.println("======栈操作菜单项======");System.out.println("1. s(showList) 打印栈元素");System.out.println("2. a(push) 元素入栈");System.out.println("3. p(pop) 元素出栈");System.out.println("4. e(exit) 程序退出0");System.out.println("请输入你的选择:");key = sc.next().charAt(0);switch (key) {case 's':case '1':arrayStack.showList();break;case 'a':case '2':System.out.println("请输入你要添加的元素:");int value = sc.nextInt();arrayStack.push(value);break;case 'p':case '3':try {System.out.println("出栈元素为:" + arrayStack.pop());} catch (Exception e) {System.out.println(e.getMessage());}break;case 'e':case '4':sc.close();loop = false;System.out.println("程序退出~");
//                    System.exit(0);break;default:break;}}}
}//定义一个ArrayStack 表示栈
class ArrayStack {private int maxSize; //栈的大小private int[] stack; //定义一个栈private int top = -1; //定义一个栈顶指针public ArrayStack(int size) {maxSize = size;stack = new int[maxSize];}//栈满public boolean isFull() {return top == maxSize - 1;}//栈空public boolean isEmpty() {return top == -1;}//添加元素public void push(int value) {if (isFull()) {System.out.println("栈满,不能继续添加元素~");return;}stack[++top] = value;}//元素出栈public int pop() {if (isEmpty()) {throw new RuntimeException("栈空,无元素出栈~");}return stack[top--];}//遍历栈元素public void showList() {if (isEmpty()) {System.out.println("栈空,无元素遍历~");return;}for (int i = top; i >= 0; i--) {System.out.printf("元素 %d \n", stack[i]);}}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

范仲淹仅存五首词作,篇篇经典

范仲淹,北宋时期杰出的政治家,文学家,提起他首先想到初中那篇《岳阳楼记》,难倒无数背诵困难户,它虽然难背,但却是一篇文字排列极美,意境极佳的美文。 “不以物喜,不以己悲&#xf…

Android hilt使用

一,添加依赖库 添加依赖库app build.gradle.kts implementation("com.google.dagger:hilt-android:2.49")annotationProcessor("com.google.dagger:hilt-android:2.49")annotationProcessor("com.google.dagger:hilt-compiler:2.49"…

程序人生,由“小作文”事件想到的

时势造英雄。自媒体时代,火出圈是靠大众的审美和爱好,自己能做的关键,其实是做好自己,选择向上生长,持续不断的读书、学习。同时保持一份好奇心,培养一个兴趣爱好并自得其乐。 展示自我 回想起我小时候&am…

Promise执行顺序

小编建议小伙伴们不要跳点看,每一点都是衔接,有比较的 本篇文章考查 ①promise是同步任务还是微任务 ②promise.then()什么时候执行,是微任务还是宏任务 ③如何控制状态变化,不同状态变化,会执行哪个回调函数 1、以下代…

进制之间的转换——n进制转换为m进制(C/C++实现,简单易懂)

目录 🌈前言: 📁 什么是进制转换: 📁其他进制转换成十进制: 📂二进制( B ) ——> 十进制( D ) 📂八进制( O ) ——> 十进制( D ) 📂十六进制( H ) ——> 十进制…

运维实践|采集MySQL数据出现many connection errors

文章目录 问题出现问题分析当前环境问题分析 解决方案1 检查调度事件任务是否开启2 开启调度事件任务3 创建一张日志表4 创建函数存储过程5 创建事件定时器6 开启事件调度任务7 检查核实是否创建 总结 问题出现 最近在做OGG结构化数据采集工作,在数据采集过程中&am…

抖音商品详情API接口在电商行业中的重要性及实时数据获取实现

随着移动互联网的快速发展,电商行业不断壮大。抖音作为一款短视频社交应用,近年来在电商领域取得了显著成果。本文将探讨抖音商品详情API接口在电商行业中的重要性,以及如何通过实时数据获取提高业务效率。我们将介绍相关的技术背景、API接口…

AngularJS

理解实现代码的逻辑为主要,代码怎么写为次要。 参考资料: 《AngularJS入门与进阶》,江荣波著 前端开发常用框架 React:由Facebook开发,用于构建用户界面的JavaScript库,以组件化和虚拟DOM著称。 Angular&…

2024最新FL Studio21.2MAC电脑版中文版下载安装步骤教程

FL Studio 简称FL,全称Fruity Loops Studio,因此国人习惯叫它"水果"。目前最新版本是FL Studio21.1.1.3750版本,它让你的计算机就像是全功能的录音室,大混音盘,非常先进的制作工具,让你的音乐突破…

docker的资源限制及容器应用

一、docker资源限制 在使用 docker 运行容器时,一台主机上可能会运行几百个容器,这些容器虽然互相隔离,但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制,那么容器之间会互相影响,小的来说…

DC-5靶场

目录 DC-5靶机: 先进行主机发现: 发现文件包含: 上传一句话木马: 反弹shell: 提权漏洞利用: 下载exp: 第一个文件 libhax.c 第二个文件r…

电子电器架构( E/E) 演化 —— 大算力

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

PowerShell实战:Get-Content命令使用详解

目录 一、Get-Content介绍 二、语法格式 三、参数详解 四、使用案例 4.1 获取文件内容 4.2 获取文件前三行内容 4.3 获取文件最后三行内容 4.4通过管道方式获取最后两行内容 4.5使用逗号作为分隔符 4.6 Filter方式读取多个文件 4.7 Include方式读取多个文件 一、Get-Content介绍…

Oracle VM VirtualBox使用——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

简述: Oracle VM VirtualBox是一款开源虚拟机软件,由德国Innotek公司开发,后被Sun Microsystems公司收购,并最终被甲骨文公司收购。它支持在Windows、Mac OS X、Linux、OpenBSD、Solaris、IBM OS2甚至Android等操作系统上创建虚拟…

真正的软件测试常见的面试题,到底有哪些?

01、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法&…

PostgreSQL的安装、配置与使用指南

文章目录 一、介绍二、安装1、下载安装2、验证 三、配置1、远程连接配置1)配置postgresql.conf2)配置pg_hba.conf3)重启 2、配置数据库的日志 四、图形化界面1、pgAdmin2、Navicat 一、介绍 PostgreSQL是一个功能强大的 开源 的关系型数据库…

分类预测 | Matlab实现AOA-SVM算术优化支持向量机的数据分类预测【23年新算法】

分类预测 | Matlab实现AOA-SVM算术优化支持向量机的数据分类预测【23年新算法】 目录 分类预测 | Matlab实现AOA-SVM算术优化支持向量机的数据分类预测【23年新算法】分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现AOA-SVM算术优化支持向量机的数据分类预测…

5.docker容器及相关命令

docker中的容器实际上就是宿主机中的一个进程 目录 1 创建并启动容器 docker run 1.1 如果没有指定的镜像的话,docker会尝试从源拉取 1.2 给容器起名字 --name 1.3 交互方式启动(-i)与弹出客户端(-t) 1.4 指定端口 -p 1.5 自动分配端口 -P 1.6 后台运…

element plus 日期范围 自定义内容

问题: 按照官网上的自定义内容示例,修改日期选择器没有问题,如果修改日期范围选择器,修改后会丢失日期范围选择时的样式。 解决: 从F12中不难看出日期范围的选择样式来自于.el-date-table-cell 而示例中写的是.cell&…

文件系统和软硬链接(下)

在这里我们首先学习两个新的知识点第一个: 第二个: 下面我们再来理解思考下面的四个问题: 我们首先来解决第一个问题如果新建一个文件Linux系统会做什么呢? 新建文件,系统会做什么 当我们要新建一个文件的时候&#…