瑞星卡卡安全论坛技术交流区系统软件 java题出错,懂的请来看看

1   1  /  1  页   跳转

java题出错,懂的请来看看

java题出错,懂的请来看看

import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Ex
{
    private Frame fr;
    private MyDialog mydlg;
    private Button bt1;
    private Label lb1,lb2;
    private double data[][];
    private TextField text1,text2;
    private TextArea textarea1,textarea2;
    Ex()
    {
        fr= new Frame("二维数组的创建与显示");
        fr.setSize(300,300);
        fr.setLayout(new FlowLayout());
        bt1 = new Button("创建二维数组");
        lb1 = new Label("请输入二维数组的第一维数:");
        text1 = new TextField(5);
        lb2 = new Label("请输入二维数组的第二维数:");
        text2 = new TextField(5);
        textarea1 = new TextArea(10,20);

        fr.addWindowListener(new WindowAdapter()   
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        }
        );
        bt1.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                if(e.getSource()== bt1 )
                {
                    int x =0;
                    int y =0;
                    try
                    {
                         x = Integer.parseInt(text1.getText());
                         y = Integer.parseInt(text2.getText());
                        data = new double[x][y];
                        mydlg = new MyDialog(fr,"输入赋值",true,x,y);
                        mydlg.setVisible(true);
                    }
                    catch(RuntimeException e)
                    {
                        System.out.println("异常错误!");
                    }
                }
            }
        });
        fr.add(lb1);
        fr.add(text1);
        fr.add(lb2);
        fr.add(text2);
        fr.add(bt1);
        fr.add(textarea1);
        fr.setVisible(true);
       
    }
    public static void main(String args[])
    {
        Ex e = new Ex();
    }


    class MyDialog extends Dialog implements ActionListener
    {
       Button bt1;
        Label lb[][];
        TextField text[][];
        int xcount ;
        int ycount;
        MyDialog(Frame f,String str,boolean b,int xcount,int ycount)
        {
            super(f,str,b);
            setSize(200,400);
            setLayout(new FlowLayout());
            lb = new Label[xcount][ycount];
            text = new TextField[xcount][ycount];
            bt1 = new Button("确定");
            for(int i = 0;i<xcount;i++)
                for(int j=0;j<ycount;j++)
               {
                   lb[j] = new Label("请为第"+i+","+j+"个赋值");
                    add(lb[j]);
                    text[j] = new TextField(4);
                    add(text[j]);
               }

            add(bt1);
            bt1.addActionListener(this);              
        }
         public void actionPerformed(ActionEvent e)
         {
             if(e.getSource()==bt1)
             {
                for(int i = 0;i<xcount;i++)
                    for(int j=0;j<ycount;j++)
                    {
                        data[j] = Double.parseDouble(text[j].getText());
                        textarea1.append("第"+i+","+j+"个的值是"+data[j]+"\n");
                    }                             
             }
             dispose();
         }

    }
}
编译的时候出现已在actionPerformed(java.awt.event.ActionEvent)中定义e
                                            catch(RuntimeException e)
最后编辑2006-12-30 12:17:23
分享到:
gototop
 


不好意思,JAVA帮不上你
gototop
 

catch(RuntimeException e)
把这个e改称ex,和上面重复了,下面还有不少错误你自己再看看吧
gototop
 

下面的声明的二维数组,在赋值时却写成了lb[],这是一维数组

所以还有类型转换错误,其他的没什么了,把这些改了就对了,我刚

编译执行成功了
gototop
 

表示感谢,修改中...
gototop
 

现在能运行了,但点了确定没反应呢?
gototop
 

那就不清楚了,我这里弹出了窗体,显示分配了数组空间
gototop
 

楼上很强哇~~

楼主的二位数组赋值……

不过我这里能跳出窗体 但是似乎赋值的时候 没有最后的结果

楼主的意图是?
gototop
 

本来是想给二维数组赋值后,输出到TextArea中,但是好象能运行到赋值截面,但是赋值后点确定没变化?一直没搞懂怎么会事?能否帮帮忙
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT