package com.day08.mystack;public class Mystack {
private Object []data;
private int top;
private int[] is;
public Mystack(int size){
data=new Object[size];
top=0;
}
public boolean push(Object num){
if(top!=data.length){
data[top]=num;
top++;
System.out.println(num+"入栈成功!");
return true;
}else{
System.out.println("栈满,入栈失败!");
return false;
}
}
public Object pop(){
if(top!=0){
top--;
return data[top];
}
return null;
}
public void showMe(){
for(int i=0;i<top;i++){
System.out.print(data[i]+" ");
}
System.out.println();
}
}
-------------------------------------------Mystack类
-------------------------------------------下是Test测试:
package com.day08.mystack;
import java.util.Scanner;
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// Mystack s=new Mystack(5);
// s.push(1);
// s.push(2);
// s.push(3);
// s.push(4);
// s.push("sewf");
// s.showMe();
Scanner sca=new Scanner(System.in);
System.out.println("输入栈的大小:");
int size =sca.nextInt();
Mystack s=new Mystack(size);
System.out.println("要存的数据:");
while(true){
Object num=sca.next();
if(s.push(num)){ }else{
System.out.println("未入");
}
}
}}-----------------------------------------------问题是这里的pop()怎么测试啊????
private Object []data;
private int top;
private int[] is;
public Mystack(int size){
data=new Object[size];
top=0;
}
public boolean push(Object num){
if(top!=data.length){
data[top]=num;
top++;
System.out.println(num+"入栈成功!");
return true;
}else{
System.out.println("栈满,入栈失败!");
return false;
}
}
public Object pop(){
if(top!=0){
top--;
return data[top];
}
return null;
}
public void showMe(){
for(int i=0;i<top;i++){
System.out.print(data[i]+" ");
}
System.out.println();
}
}
-------------------------------------------Mystack类
-------------------------------------------下是Test测试:
package com.day08.mystack;
import java.util.Scanner;
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// Mystack s=new Mystack(5);
// s.push(1);
// s.push(2);
// s.push(3);
// s.push(4);
// s.push("sewf");
// s.showMe();
Scanner sca=new Scanner(System.in);
System.out.println("输入栈的大小:");
int size =sca.nextInt();
Mystack s=new Mystack(size);
System.out.println("要存的数据:");
while(true){
Object num=sca.next();
if(s.push(num)){ }else{
System.out.println("未入");
}
}
}}-----------------------------------------------问题是这里的pop()怎么测试啊????
解决方案 »
- 怎样实现这样的窗体效果呢?
- JAVA 读取Excel中部分加删除线的字符
- java的内部接口
- java io 搜索文件夹
- socket问题--No buffer space available (maximum connections reached?): recv failed
- 新手 简单问题 wait notify 走过路过进来看看
- eclipse的可视化插件用什么啊?Swing或Awt
- 哈哈,5个角角了,散、我散、我散散散......
- 我在“无状态SessionBean”中使用UserTransaction来处理事务方面的操作,出问题了。请帮忙看看是怎么回事!!!!!
- 如何实现email和传真机的互传?
- 从键盘输入一个数,然后求其平方用Java怎么写
- [求助] JSON转对象 对象转JSON 实现代码
System.out.println("要存的数据:");
for(int i=0;i<size;i++){
Object num=sca.next();
}
System.out.println("出栈"+s.pop());
// while(true){
// Object num=sca.next();
// if(s.push(num)){
//
// }else{
// System.out.println("未入");
// }
// }
控制台信息--------------------------------------------------
输入栈的大小:
5
要存的数据:
1
2
3
4
5
出栈null
---------------------------------------Mystack类
package com.day08.mystack;public class Mystack {
private Object []data;
private int top;
public Mystack(int size){
data=new Object[size]; //这里不能是new Mystack 这洋酒死了 的是Object要不然值怎么存进去
top=0;
}
public boolean push(Object num){
if(top!=data.length){
data[top]=num;
top++;
System.out.println(num+"入栈成功!");
return true;
}else{
System.out.println("栈满,入栈失败!");
return false;
}
}
public Object pop(){
if(top!=0){
top--;
return data[top];
}
return null;
}
public void showMe(){
for(int i=0;i<top;i++){
System.out.print(data[i]+" ");
}
System.out.println();
}
}----------------------------------------------下为测试Test:
package com.day08.mystack;
import java.util.Scanner;
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// Mystack s=new Mystack(5);
// s.push(1);
// s.push(2);
// s.push(3);
// s.push(4);
// s.push("sewf");
// s.showMe();
Scanner sca=new Scanner(System.in);
System.out.println("输入栈的大小:");
int size =sca.nextInt();
Mystack s=new Mystack(size);
System.out.println("要存的数据:");
for(int i=0;i<size;i++){
Object num=sca.next();
s.push(num);
}
s.showMe(); ///为啥这里showME不输出啊???
for(int j=size;j>0;j--){
System.out.println("出栈"+s.pop());
}
// while(true){
// Object num=sca.next();
// if(s.push(num)){
//
// }else{
// System.out.println("未入");
// }
// }
}}
-----------------------------------------------------控制台结果:
输入栈的大小:
5
要存的数据:
1
1入栈成功!
2
2入栈成功!
3
3入栈成功!
4
4入栈成功!
5
5入栈成功!
1 2 3 4 5
出栈5
出栈4
出栈3
出栈2
出栈1
---------------------------------------------------------感言:
这个写的还是不好,test太人工了感觉 后面pop出栈 还要自己弄个for循环,应该在Mystack里面弄个智能的pop3。高手能帮完善下吗 小弟只会想 还写不出来刚学java第8天。太戳了我 唉
恭喜啊,去看Stack的源码吧