Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 2153849|回复: 19
打印 上一主题 下一主题

[问题]Java try catch的问题,没有erro,但程式跑太快了,跟我想的完全不一样><

[复制链接]

8

主题

0

好友

4741

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

跳转到指定楼层
1#
发表于 2009-5-29 12:31 PM |只看该作者 |倒序浏览
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class A1 extends JFrame
{
    private JButton Divede = new JButton ("Divede");
        private JTextField number1 =new JTextField(8);
        private JTextField number2 =new JTextField(8);
        private JTextArea Result = new JTextArea();
   
    public A1()
    {
            setLayout(new GridLayout(2, 6, 10, 10));
           
            JPanel p1 = new JPanel(new GridLayout(1,6,5,5));
            JPanel p2 = new JPanel(new FlowLayout(FlowLayout.CENTER,5,5));
           
                p1.add (new JLabel("number1:"));
                p1.add (number1);
                p1.add (new JLabel("number2:"));
                p1.add (number2);
                p1.add (new JLabel("Result:"));
                p1.add (Result);
                p2.add(Divede);
                add(p1,BorderLayout.CENTER);
            add(p2,BorderLayout.SOUTH);
            ActionListener listener = new OKListener();
            Divede.addActionListener(listener);
            Result.setEditable(false);
    }

    public static void main(String[] args)
    {
                A1 frame = new A1();
                    frame.setTitle("Divede");
                    frame.setSize(400, 250);
                    frame.setLocationRelativeTo(null);
                    frame.setVisible(true);
                 frame.setDefaultCloseOperation(
                      JFrame.EXIT_ON_CLOSE);
    }
   
     class OKListener implements ActionListener
           {
                  private String text;
                  private double num;
                  private double num1;
                  private double num2;

            public void actionPerformed(ActionEvent e)
            {
                          if(e.getSource() == Divede)
                            {
                                    num1 = Double.parseDouble(number1.getText());
                                    num2 = Double.parseDouble(number2.getText());

                                            try
                                            {
                                                 num = num1 / num2;
                                                 text = Double.toString(num);
                                                 Result.setText(text);
                                         }
                                        
                                         catch(ArithmeticException n)
                                         {
                                                 System.out.println("Please Enter Number.");
                                         }
                                        
                                         finally
                                         {
                                                 System.exit(0);
                                         }
                            }
            }
           }
}

没有erro出现了,但是程式跑了就马上关><

[ 本帖最后由 natgnah 于 2009-5-31 10:39 PM 编辑 ]




catch , catch , catch , erro , erro , erro , Java , Java , Java , TRY , TRY , TRY , 程式 , 程式 , 程式
收藏收藏0

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

2#
发表于 2009-5-29 04:07 PM |只看该作者
原帖由 natgnah 于 2009-5-29 12:31 PM 发表
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class A1 extends JFrame
{
    private JButton Divede = new JButton ("Divede");
        private JTextField number1 =new JTextField(8);
        private JTextField number2 =new JTextField(8);
        private JTextArea Result = new JTextArea();
   
    public A1()
    {
            setLayout(new GridLayout(2, 6, 10, 10));
           
            JPanel p1 = new JPanel(new GridLayout(1,6,5,5));
            JPanel p2 = new JPanel(new FlowLayout(FlowLayout.CENTER,5,5));
           
                p1.add (new JLabel("number1:"));
                p1.add (number1);
                p1.add (new JLabel("number2:"));
                p1.add (number2);
                p1.add (new JLabel("Result:"));
                p1.add (Result);
                p2.add(Divede);
                add(p1,BorderLayout.CENTER);
            add(p2,BorderLayout.SOUTH);
            ActionListener listener = new OKListener();
            Divede.addActionListener(listener);
            Result.setEditable(false);
    }

    public static void main(String[] args)
    {
                A1 frame = new A1();
                    frame.setTitle("Divede");
                    frame.setSize(400, 250);
                    frame.setLocationRelativeTo(null);
                    frame.setVisible(true);
                 frame.setDefaultCloseOperation(
                      JFrame.EXIT_ON_CLOSE);
    }
   
     class OKListener implements ActionListener
           {
                  private String text;
                  private int num;
                  private int num1;
                  private int num2;

            public void actionPerformed(ActionEvent e)
            {
                          if(e.getSource() == Result)
                            {
                                     num1 = Integer.parseInt(number1.getText());
                                     num2 = Integer.parseInt(number2.getText());
                                    do
                                    {
                                            try
                                            {
                                                 num = num1 / num2;
                                                 text = Integer.ToSting(num);
                                                 Result.setText(text);
                                         }
                                       
                                         catch(ArithmeticException n)
                                         {
                                                 System.out.println("Please Enter Number.");
                                         }
                                       
                                         finally
                                         {
                                                 System.exit();
                                         }
                                    }
                            }
            }
           }
}

不知道哪里出现问题,请各位帮小弟看看一下。。。



該列出错误訊息,別人才能够知道問題在哪
首先我看到的几个小错误
1.  text = Integer.ToSting(num);
几乎所有的 method 都是小写为開頭,所以應該是 toString 才對

2. System.exit()
没有赋予 parameter, 请參考 http://java.sun.com/j2se/1.4.2/docs/api/java/lang/System.html


回复

使用道具 举报

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

3#
发表于 2009-5-29 04:50 PM |只看该作者

回复 #2 Super-Tomato 的帖子


原来JAVA也有像MSDN那样的


回复

使用道具 举报

8

主题

0

好友

4741

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

4#
发表于 2009-5-29 06:18 PM |只看该作者

回复 #2 Super-Tomato 的帖子

但出现的erro很怪= =


回复

使用道具 举报

62

主题

5

好友

3715

积分

本站名嘴

Rank: 11Rank: 11

5#
发表于 2009-5-30 08:22 AM |只看该作者

回复 #4 natgnah 的帖子

Paste出来看看


回复

使用道具 举报

8

主题

0

好友

4741

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

6#
发表于 2009-5-30 10:20 AM |只看该作者

回复 #5 goodhermit95 的帖子

上面有paste出来了= =

erro是:
C:\Users\yuan\Desktop\homework\A1.java:75: 需要 while
                }
                 ^
C:\Users\yuan\Desktop\homework\A1.java:77: 非法的表达式开始
        }
        ^
C:\Users\yuan\Desktop\homework\A1.java:77: 需要 ')'
        }
         ^
C:\Users\yuan\Desktop\homework\A1.java:78: 需要 ';'
     }
      ^
C:\Users\yuan\Desktop\homework\A1.java:79: 进行语法解析时已到达文件结尾
}
^
C:\Users\yuan\Desktop\homework\A1.java:80: 进行语法解析时已到达文件结尾


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

7#
发表于 2009-5-30 11:22 AM |只看该作者
do {... } 去掉, 你沒循環為何用 do


回复

使用道具 举报

8

主题

0

好友

4741

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

8#
发表于 2009-5-30 11:28 PM |只看该作者

回复 #7 Super-Tomato 的帖子

我是参考老师的做法,我还不熟do。。。

去了do之后,还是有erro

erro:
C:\Users\yuan\Desktop\homework\A1.java:61: 找不到符号
符号: 方法 ToSting(int)
位置: 类 java.lang.Integer
                        text = Integer.ToSting(num);
                                      ^
C:\Users\yuan\Desktop\homework\A1.java:72: 无法将 java.lang.System 中的 exit(int) 应用于 ()
                        System.exit();


回复

使用道具 举报

7

主题

1

好友

5108

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

9#
发表于 2009-5-30 11:51 PM |只看该作者
原帖由 natgnah 于 2009-5-30 11:28 PM 发表
我是参考老师的做法,我还不熟do。。。

去了do之后,还是有erro

erro:
C:\Users\yuan\Desktop\homework\A1.java:61: 找不到符号
符号: 方法 ToSting(int)
位置: 类 java.lang.Integer
            ...



請用心看二樓的回答


回复

使用道具 举报

8

主题

0

好友

4741

积分

一流名嘴

Rank: 12Rank: 12Rank: 12

10#
发表于 2009-5-31 03:56 PM |只看该作者

回复 #9 Super-Tomato 的帖子

谢谢你,我之前没注意到。。。
不过现在又多一个问题,就是程式跑不到,erro已经不见了,但他不会执行程式。。。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-7-1 04:44 PM , Processed in 0.107204 second(s), 26 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部