查看: 39360|回复: 6
收起左侧

[其他] java编译时提示错误:找不到符号

[复制链接]
genshuxi
发表于 2013-10-6 13:57:36 | 显示全部楼层 |阅读模式
用javac进行编译时,提示找不到符号,如下图所示:



代码如下所示:
  1. public class clock
  2. {
  3.   public static void main(String args[])
  4.   {
  5.    ClockView cv = new ClockView();
  6.    cv.SetVisible(true);
  7.    try
  8.    {
  9.     for(;;)
  10.         {
  11.         cv.refreshTimeDisplay();
  12.         Thread.sleep(500);
  13.         }
  14.    }catch (Exception e)
  15.    {System.out.println("Error:"+e);}

  16.    }
  17.   }
  18.   class ClockView extends javax.swing.JFrame
  19.   {
  20.     private javax.swing.JLabel tLabel = new javax.swing.JLabel();
  21.         ClockView()
  22.         {this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  23.          this.setSize(95,45);
  24.          this.getContentPane().add(tLabel);
  25.          this.refreshTimeDisplay();
  26.          
  27.         }
  28.     protected String getDigitsAsString(int i)
  29.         {
  30.         String str = Integer.toString(i);
  31.         if(i<10) str="0"+str;
  32.         return str;
  33.         }
  34.     public void refreshTimeDisplay(){
  35.         Timestamp t= new Timestamp();
  36.         t.fillTimes();
  37.         String display = getDigitsAsSting(t.hrs) + ":" + getDigitsAsSting(t.mins) +  ":" + getDigitsAsString(t.secs);
  38.         tLabel.setText("  "+ display);
  39.         tLabel.repaint();
  40.        
  41.         }
  42.   }
  43.     class Timestamp
  44.          {
  45.          int hrs,mins,secs ;
  46.          void fillTimes(){
  47.          java.util.Calender now ;
  48.          now = java.util.Calendar.getInstance() ;
  49.          hrs = now.get(java.util.Calendar.HOUR_OF_DAY);
  50.          mins = now.get(java.util.Calendar.MINUTE);
  51.          secs = now.get(java.util.Calendar.SECOND);
  52.          }
  53.          
  54.          }
  55.    

复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
jacksonjim
发表于 2013-10-6 23:31:51 | 显示全部楼层
本帖最后由 jacksonjim 于 2013-10-6 23:35 编辑

正确的代码是:
  1. public class Clock {
  2.   public static void main(String args[]) {
  3.         ClockView cv = new ClockView();
  4.         cv.setVisible(true);
  5.         try {
  6.           for(;;) {
  7.                 cv.refreshTimeDisplay();
  8.                 Thread.sleep(500);
  9.           }
  10.         }catch (Exception e)
  11.         {System.out.println("Error:"+e);}

  12.   }
  13. }
  14. class ClockView extends javax.swing.JFrame {
  15.   /**
  16.    *
  17.    */
  18.   private static final long serialVersionUID = 1L;
  19.   private javax.swing.JLabel tLabel = new javax.swing.JLabel();
  20.   ClockView()
  21.   {this.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  22.   this.setSize(95,45);
  23.   this.getContentPane().add(tLabel);
  24.   this.refreshTimeDisplay();

  25.   }
  26.   protected String getDigitsAsString(int i) {
  27.         String str = Integer.toString(i);
  28.         if(i<10) str="0"+str;
  29.         return str;
  30.   }
  31.   public void refreshTimeDisplay() {
  32.         Timestamp t= new Timestamp();
  33.         t.fillTimes();
  34.         String display = getDigitsAsString(t.hrs) + ":" + getDigitsAsString(t.mins) +  ":" + getDigitsAsString

  35.                 (t.secs);
  36.         tLabel.setText("  "+ display);
  37.         tLabel.repaint();

  38.   }
  39. }
  40. class Timestamp {
  41.   int hrs,mins,secs ;
  42.   void fillTimes() {
  43.         java.util.Calendar now ;
  44.         now = java.util.Calendar.getInstance() ;
  45.         hrs = now.get(java.util.Calendar.HOUR_OF_DAY);
  46.         mins = now.get(java.util.Calendar.MINUTE);
  47.         secs = now.get(java.util.Calendar.SECOND);
  48.   }

  49. }
复制代码
最后运行结果是:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1经验 +7 收起 理由
wyj915752168 + 7 感谢解答: )

查看全部评分

jacksonjim
发表于 2013-10-6 22:55:00 | 显示全部楼层
你是不是没导入相关的包文件?
jacksonjim
发表于 2013-10-6 23:25:39 | 显示全部楼层
本帖最后由 jacksonjim 于 2013-10-6 23:38 编辑

两个不应该错的错误,英文写错与大小写没区分
此方法写错英文getDigitsAsSting(t.hrs), 应修改为:getDigitsAsString(t.hrs)
cv.SetVisible(true);要修改为:cv.setVisible(true);
genshuxi
 楼主| 发表于 2013-10-7 17:11:47 | 显示全部楼层
jacksonjim 发表于 2013-10-6 23:31
正确的代码是:最后运行结果是:

非常感谢。
jacksonjim
发表于 2013-10-7 23:04:14 | 显示全部楼层
genshuxi 发表于 2013-10-7 17:11
非常感谢。

不用,你下次写这个代码时最好用IDE来写,我估计你现在是用文本来写的对吧?
genshuxi
 楼主| 发表于 2013-10-8 17:37:33 | 显示全部楼层
jacksonjim 发表于 2013-10-7 23:04
不用,你下次写这个代码时最好用IDE来写,我估计你现在是用文本来写的对吧?

吸取教训,感谢你的建议
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-13 10:47 , Processed in 0.131761 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表