A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马李刚 黑马帝   /  2011-9-9 17:52  /  1599 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(sorry for the bad format)
编译时报错:第38行“不是语句”
第38行需要".class"[code=java]import java.awt.*;
import java.awt.event.*;
import java.io.*;
class L
{
   private Frame f;
   private Button b;
   private TextField tf;
   private TextArea ta;
   public void init()
   {
      f=new Frame();
      f.setBounds(110,200,400,300);
      f.setLayout(new FlowLayout());

      tf=new TextField(30);
      b=new Button("转到");
      ta=new TextArea(33,40);

      f.add(tf);
      f.add(b);
      f.add(ta);

      myEvent();

      f.setVisible(true);
   }

   public void myEvent()
   {
      b.addActionListener(new ActionListener()
      {
          public void actionPerformed(ActionEvent e)
          {
                if(dir.exists()&&dir.isDirectory())
                                
                String dirPath=tf.getText();
                File dir=new File(dirPath);
                String[] names=dir.list();
                for(String name:names)
                {
                     System.out.println(name);
                }
                ta.setText(text);
                tf.setText("");
          }
     });
     f.addWindowListener(new WindowAdapter()
     {
         public void windowClosing(WindowEvent a)
         {
               System.exit(0);
         }
     });
  }

  public static void main(String args[])
  {
     L l=new L();
     l.init();
  }
}[/code]
[ 本帖最后由 黑马李刚 于 2011-09-09  20:02 编辑 ]

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

4 个回复

倒序浏览
问题其实挺多的……我简单说一下吧:

第一个问题:先看一下你的第35~38行
  1. if(dir.exists()&&dir.isDirectory())
  2. String dirPath=tf.getText();
  3. File dir=new File(dirPath);
复制代码
由于变量是必须先定义后使用的
而你这三行语句中,dir这个变量是先在if中使用,然后才在下面定义的
所以应当把下面两行代码放到上面,也就是改成下面这样:
  1. String dirPath=tf.getText();
  2. File dir=new File(dirPath);
  3. if(dir.exists()&&dir.isDirectory())
复制代码
第二个问题:看一下你的39行
  1. String [] names=dir.list();
复制代码
第39行的dir.list()方法返回的是一个List类型的对象,所以这里赋值给String[]数组显然会出错

第三个问题:看一下你的44行
  1. ta.setText(text);
复制代码
这里出现的text变量是在哪里定义的呢?
[ 本帖最后由 李叶 于 2011-09-09  21:48 编辑 ]

评分

参与人数 1技术分 +2 收起 理由
admin + 2 李同学真不错!

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-9 23:00:17
藤椅
呵呵,李叶同学出现了~问题搞定了~
回复 使用道具 举报
黑马网友  发表于 2011-9-9 23:18:57
板凳
才发现我的代码一团糟啊。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马