当前位置:  技术问答>java相关

◇简单问题,小妹在线等各位大哥帮助~~

    来源: 互联网  发布时间:2015-10-13

    本文导语:  这是一道Java的作业题.老师要求用Vector完成堆栈的功能. 我建了两个类,myStackText和myStack.myStackText类是主窗口,myStack实现堆栈的功能.编译能通过,但是点击主窗口中的按钮,却出现NullPointerException例外,怎么回事啊,搞不懂~~~!...

这是一道Java的作业题.老师要求用Vector完成堆栈的功能.
我建了两个类,myStackText和myStack.myStackText类是主窗口,myStack实现堆栈的功能.编译能通过,但是点击主窗口中的按钮,却出现NullPointerException例外,怎么回事啊,搞不懂~~~!

//myStackTest.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

public class myStackTest extends JFrame {
    private JTextField InputField, OutputField;
    private JButton Push, Pop, Display;
    private Container c;
    private FlowLayout layout;
    private JLabel status, InLabel, OutLabel;
    private myStack stackDemo;
    
    public myStackTest()
    {
        super( "Stack Demo" );
        
        layout = new FlowLayout();
        
        c = getContentPane();
        c.setLayout( layout );
        status = new JLabel();
        stackDemo = new myStack();
        
        InLabel = new JLabel( "Input" );
        c.add( InLabel );
        InputField = new JTextField( 10 );
        c.add( InputField );
        
        OutLabel = new JLabel( "Output" );
        c.add( OutLabel );
        OutputField = new JTextField( 10 );
        c.add( OutputField );
        
        Push = new JButton( "Push" );
        Push.addActionListener(
            new ActionListener() {
                public void actionPerformed( ActionEvent e )
                {
                    stackDemo.push( InputField.getText() );
                    InputField.setText("");
                }
            }
        );
        c.add( Push );
        
        Pop = new JButton( "Pop" );
        Pop.addActionListener(
            new ActionListener() {
                public void actionPerformed( ActionEvent e )
                {
                    try {
                        OutputField.setText( stackDemo.pop().toString() );
                    }
                    catch( ArrayIndexOutOfBoundsException exception ) {
                        status.setText( "Stack is empty." );
                    }
                }
            }
        );
        c.add( Pop );
        
        Display = new JButton( "Display" );
        Display.addActionListener(
            new ActionListener() {
                public void actionPerformed( ActionEvent e )
                {
                    stackDemo.display();
                }
            }
        );
        c.add( Display );
        c.add( status );
        
        setSize( 200, 200 );
        show();
    }
    

    public static void main( String args[] )
    {
        System.out.println( "Starting myStackTest..." );
        myStackTest app = new myStackTest();
        
        app.addWindowListener(
            new WindowAdapter() {
                public void windowClosing( WindowEvent e )
                {
                    System.exit( 0 );
                }
            }
        );
    }
}


class myStack {
    int point;
    private Vector stack;
    
    public void myStack()
    {
        stack = new Vector();
        point = 0;
    }
    
    public void push( Object item)
    {
        stack.addElement( item );
        point++;
    }
    
    public Object pop()
    {
        point--;
        Object obj = stack.elementAt( point );
        stack.remove( point );
        return obj;
    }
    
    public void display()
    {
        JOptionPane.showConfirmDialog( null, stack.toString(), 
          "Display", JOptionPane.PLAIN_MESSAGE );
    }
}



|
构造器不能有返回类型,void也不行,将
public void myStack()
    {
        stack = new Vector();
        point = 0;
    }
改为以下形式即可:
public myStack()
    {
        stack = new Vector();
        point = 0;
    }

|
buick555(王飞) 老兄你好:
我认为他的程序有几个地方判断不完全,比如没有push就pop了,当然得到null
如果push了一个,却pop>1也会得到null
小姐你点了那个按钮出现异常?push pop or display?
请把运行堆栈贴出来吧!

    
 
 

您可能感兴趣的文章:

  • linuxES3.0下 WebSphere进程经常自动停止问题? 小妹先谢了
  • 小妹问大家一个问题!求你们了!踊跃点!UP也有分的!!
  • 急!小妹请教大家关于QT的问题??
  • 谁来帮帮小妹,有关developer cafe的问题!!!!!
  • 小妹问个初级问题,别笑呀!~!
  • 请教一个常识问题,小妹谢谢各位!
  • java基础问题,小妹先谢谢了
  • 关于在Linux下,运行程序的问题?请大家帮助小妹呀,在线等,谢谢!
  • TURBO LINUX 中FTP的问题!请大峡吧帮帮小妹~~~~~
  • 小妹请教一下 linux的网卡 问题!望解答!
  • 小妹初学linux编程,有问题请教各位
  • linux安装问题,高手快来帮小妹啊
  • jtree问题:怎么以“我的电脑”作为根结点,小妹只能取得根结点系统根目录(c:等),如能帮忙或给有用提示,高分相报,大家请进
  • 三个小问题,请大哥们执教一下,小妹先谢过了
  • 明天要交了,可是~~~请大虾们帮帮小妹吧---数据的分级审核问题???
  • 有关多条数据查询的问题!!!!! 谁来帮帮小妹呀!!!!!!!!!!!!
  • 小妹这里有个问题请教:为什么这两个字符串不相等?
  • 小妹又有一个很菜的问题了!!!!!!!!
  • linux与windows问题,急,小妹在线等候,高分!!!
  • 小妹菜鸟问哥问题!
  • 哪位大哥帮帮我,安装时的超级终端问题。
  • 提个菜鸟问题,哪位大哥帮帮我。
  • 求教求教,shell问题...各位大哥,帮忙下
  • 硬盘启动ISO的问题,各位大哥大姐帮忙!!
  • 请教各位大哥,linux安装过程中的问题
  • 各位大哥帮帮忙。巨菜问题
  • 那位大哥遇到过关于8859-15内码无法找到问题
  • 小弟初次发贴,碰到问题郁闷好久,各位大哥大姐帮帮我把!
  • 哎呀!我又有问题了,大哥哥们!
  • 请教各位大哥关于备份的问题????
  • 各位大哥借个地方,问一个macintosh system与VB的问题。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • CSDN是以帮助我们学习的为首任呢,还是以帮助我们解决问题为首任的?
  • 有关ResultSet的问题,帮助解决问题者另外加分...
  • 一个送分的问题,如何利用帮助
  • linux中关于man帮助的问题
  • linux联机帮助的问题?
  • opensolaris 安装遇到的问题,希望得到你的帮助
  • 关于man指令获取帮助页格式的基本问题?
  • 初级问题:在Linux下怎么查找系统调用的帮助,就像msdn那样。不会用。
  • 100分寻帮助!Fedora“显示超出显示频率范围”问题
  • java 进阶级问题,有关网络的问题,请多多帮助
  • 使用rsync遇到以下问题?谁能帮助我?
  • 文件读取的问题!(急需您的帮助)
  • 急,请帮助,是关于outlook和foxmail的中文问题
  • 问个中文显示的问题,请求帮助
  • 菜鸟问题,求各位大侠给予帮助!谢谢!
  • 请求帮助! 服务器问题
  • Fedora 15 安装QT的问题...求帮助啊!
  • class文件的运行问题。向各位大侠请求帮助
  • 菜鸟问题:java 的帮助,去那里看
  • dos内存问题,请帮助
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3