CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

帮我看看,到底错在哪里呢?

楼主chicky(chicky)2002-01-04 13:12:42 在 Java / J2SE / 基础类 提问

import   javax.swing.*;  
  import   java.awt.*;  
  import   java.awt.event.*;  
  import   java.util.*;  
   
  class   Gui3  
  {  
  static   boolean   check(int   i)  
  {  
  int   flag=0,j=2;  
  while(flag==0&&j<=(int)Math.sqrt(i))  
  {  
  if(i%j==0)  
  {  
  flag=1;  
  break;  
  }  
  else  
  j++;  
  }  
  if(flag==0)  
  return   true;  
  else    
  return   false;  
  }  
   
  static   String   []   found()  
  {  
  int   length=0,i,j;  
  String[]   member=new   String[20];  
  Vector   v=new   Vector();  
  Random   r=new   Random();  
  for(i=100;i<=200;i++)  
  {  
  if(check(i))  
  v.add(new   Integer(i));  
  }  
  for(i=0;i<15;i++)  
  {  
  j=(int)(20*r.nextDouble());  
  member[i]=(v.get(j)).toString();  
  }  
  return   member;  
  }  
   
  public   static   void   main(String[]   args)  
  {  
  final   String[]   member=found();  
  JFrame   f=new   JFrame("随机素数");  
  Container   c=f.getContentPane();  
  c.setLayout(new   BorderLayout());  
  JPanel   p1=new   JPanel();  
  JPanel   p2=new   JPanel();  
  JPanel   p3=new   JPanel();  
  p3.setLayout(new   BorderLayout());  
  final   JTextField   t=new   JTextField(12);  
  final   JComboBox   b=new   JComboBox();  
  JLabel   l1=new   JLabel("结果:");  
  final   JLabel   l2=new   JLabel();  
  JButton   b1=new   JButton("产生");  
  final   JButton   b2=new   JButton("查找");  
  b2.setEnabled(false);  
  p1.add(b);  
  p1.add(b1);  
  p2.add(t);  
  p2.add(b2);  
  p3.add(l1,BorderLayout.WEST);  
  p3.add(l2,BorderLayout.EAST);  
  c.add(p1,BorderLayout.NORTH);  
  c.add(p2,BorderLayout.CENTER);  
  c.add(p3,BorderLayout.SOUTH);  
  f.pack();  
  f.show();  
   
  f.addWindowListener(new   WindowAdapter()  
  {  
  public   void   windowClosing(WindowEvent   e)  
  {  
  System.exit(0);  
  }  
  });  
   
  b1.addActionListener(new   ActionListener()  
  {  
  public   void   actionPerformed(ActionEvent   e)  
  {  
  for(int   i=0;i<member.length;i++)  
  b.addItem(member[i]);  
  }  
  });  
   
  t.addActionListener(new   ActionListener()  
  {  
  public   void   actionPerformed(ActionEvent   e)  
  {  
  b2.setEnabled(true);  
  }  
  });  
   
  b2.addActionListener(new   ActionListener()  
  {  
  public   void   actionPerformed(ActionEvent   e)  
  {  
  int   temp=Integer.parseInt(t.getText());  
  int   flag=0,i;  
  if(temp>200||temp<100)  
  flag=2;  
  else   if(!check(temp))  
  flag=3;  
  else   if((temp<=200&&temp>=100)&&check(temp))  
  {  
  /*for(i=0;i<member.length;i++)  
  {  
  if(((t.getText()).compareTo(member[i]))==0)  
  {  
  flag=1;  
  member[i]+="*";  
  }  
  }*/  
  }  
  b.removeAllItems();  
  for(i=0;i<member.length;i++)  
  b.addItem(member[i]);  
  if(flag==1)  
  l2.setText(temp+"在表中!");  
  else   if(flag==0)  
  l2.setText(temp+"不在表中!");  
  else   if(flag==2)  
  l2.setText("请输入一个100与200之间的数!");  
  else   if(flag==3)  
  l2.setText(temp+"不是素数!");  
  }  
  });  
  }  
   
  }  
   
  经过我多次尝试,我觉得是我注释的那一段有问题,可是我百思不得其解,帮帮忙好吗?  
  问题点数:40、回复次数:14Top

1 楼0legend(很久以前)回复于 2002-01-04 13:39:15 得分 0

只看这段,没问题吧Top

2 楼weity(魏广新)回复于 2002-01-04 13:40:09 得分 0

关注Top

3 楼chicky(chicky)回复于 2002-01-05 12:22:28 得分 0

可是我在JPadPro中,连上JDK1.3就会出问题啊,如果在那个循环里面加入break就好了,好像是循环的问题,可是我看来看去也觉得不可能产生死循环啊!各位大哥可以帮我调试一下吗?谢了阿!Top

4 楼chicky(chicky)回复于 2002-01-05 12:30:34 得分 0

怎么刷来唰去还在第四页呢?怎么不回去第一页呢?csdn现在的东东好像没有以前那么好了哦!也不知道是不是我的机器笨啊!Top

5 楼chicky(chicky)回复于 2002-01-05 14:25:51 得分 0

没有人可以帮忙吗?贴下代码运行一下都不可以吗?不要告诉我这里的人都是冷冰冰的哦!不会是分数太低的缘故吧?来到这里是互相帮助,对吗?我真的很着急啊!这是我的连着的第三次发言了,也就是说如果你们不回答得话,我也不能催了,帮帮忙吧!Top

6 楼camry_camry(camry)回复于 2002-01-05 15:11:28 得分 0

得到了什么Exception?Top

7 楼chicky(chicky)回复于 2002-01-06 13:42:49 得分 0

我忘了,你们调试一下不就知道了吗?谢谢了Top

8 楼0legend(很久以前)回复于 2002-01-06 14:00:59 得分 0

我想告诉你,可以用,我试了Top

9 楼chicky(chicky)回复于 2002-01-06 18:42:20 得分 0

那好吧,我在试试,不过我在JB4种也一样的错误啊!Top

10 楼chicky(chicky)回复于 2002-01-06 18:51:23 得分 0

我还是不对啊!异常如下:  
  Exception   occurred   during   event   dispatching:  
  java.lang.NullPointerException  
  at   java.lang.String.compareTo(String.java:788)  
  at   Gui3$4.actionPerformed(Gui3.java:115)  
  at   javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)  
  at   javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)  
  at   javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)  
  at   javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)  
  at   javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)  
  at   java.awt.Component.processMouseEvent(Component.java:3717)  
  at   java.awt.Component.processEvent(Component.java:3546)  
  at   java.awt.Container.processEvent(Container.java:1164)  
  at   java.awt.Component.dispatchEventImpl(Component.java:2595)  
  at   java.awt.Container.dispatchEventImpl(Container.java:1213)  
  at   java.awt.Component.dispatchEvent(Component.java:2499)  
  at   java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)  
  at   java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)  
  at   java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)  
  at   java.awt.Container.dispatchEventImpl(Container.java:1200)  
  at   java.awt.Window.dispatchEventImpl(Window.java:912)  
  at   java.awt.Component.dispatchEvent(Component.java:2499)  
  at   java.awt.EventQueue.dispatchEvent(EventQueue.java:319)  
  at   java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103)  
  at   java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)  
  at   java.awt.EventDispatchThread.run(EventDispatchThread.java:84)  
   
  注意,那个循环是不注释的,这里只是为了说明我的感觉罢了!谢谢啊!  
  Top

11 楼0legend(很久以前)回复于 2002-01-06 21:54:08 得分 0

我输入‘123’显示‘157’一个下拉菜单,里面一堆素数,全是100-200间的  
  我去掉它重新输入就没有变化了Top

12 楼camry_camry(camry)回复于 2002-01-07 12:00:52 得分 20

我的怀疑:  
  你在combobox中加入了null的item.然后进行了对这种item的操作。  
  在填写combobox的时候应该赋初值给每个item.Top

13 楼jin2001()回复于 2002-01-07 14:22:58 得分 20

//for(i=0;i<15;i++)  
  for(i=0;i<20;i++)  
  {  
  j=(int)(20*r.nextDouble());  
  member[i]=(v.get(j)).toString();  
  }  
  member数组定义有20个元素,这里只赋值了15个元素,而member.length为20,  
  组合框中加入了空值  
   
  Top

14 楼chicky(chicky)回复于 2002-01-07 20:21:29 得分 0

我的天啊!原来要求就是要20个的,我怎么会写15的呢?真的不知道那个时候自己在做什么,谢了阿,各位!Top

相关问题

  • 到底哪里错?
  • 帮帮我,到底错哪里了?一定给分
  • 到底是哪里的错?
  • 到底哪里出错了?
  • 到底出错在哪里???????
  • 到底错哪里了??
  • 到底错在哪里????
  • 高手请进来帮我看看我到底哪里错了?
  • ★各位前辈帮忙看看我到底哪里搞错了!!!
  • 大家帮我看看,这段代码,到底错在哪里?~

关键词

  • awt
  • flag
  • import java

得分解答快速导航

  • 帖主:chicky
  • camry_camry
  • jin2001

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo