当前位置:  技术问答>java相关

《JAVA核心技术》范例中的问题请教

    来源: 互联网  发布时间:2015-01-07

    本文导语:  编译I/O程序:ObjectFileTest.java等程序时一直出现好几个如下错误: D:corejavav1ch12ObjectFileTestObjectFileTest.java:44: 不能解析符号 符号:类 Day   位置:类 in Employee {  public Employee(String n, double s, Day d)            ...

编译I/O程序:ObjectFileTest.java等程序时一直出现好几个如下错误:
D:corejavav1ch12ObjectFileTestObjectFileTest.java:44: 不能解析符号
符号:类 Day  
位置:类 in Employee
{  public Employee(String n, double s, Day d)
                                       ^
是何原因呢?给20分。

|
呵呵,是这样的。carejava的作者写了几个类。放在carejava包里。你得import它,然后才能用。
或者,把下面的程序放到你当前类的子目录里:
import java.util.*;
import java.io.*;

/**
   Stores dates and perform date arithmetic.

   This is another date class, but more convenient that 
   java.util.Date or java.util.Calendar

   @version 1.20 5 Oct 1998
   @author Cay Horstmann
*/

public class Day implements Cloneable, Serializable
{  /**
      Constructs today's date
    */  
    
   public Day()
   {  GregorianCalendar todaysDate 
         = new GregorianCalendar();
      year = todaysDate.get(Calendar.YEAR);
      month = todaysDate.get(Calendar.MONTH) + 1;
      day = todaysDate.get(Calendar.DAY_OF_MONTH);
   }

   /**
      Constructs a specific date

      @param yyyy year (full year, e.g., 1996, 
         not starting from 1900)
      @param m month
      @param d day
      @exception IllegalArgumentException if yyyy m d not a 
         valid date
    */
      
   public Day(int yyyy, int m, int d) 
   {  year = yyyy;
      month = m;
      day = d;
      if (!isValid()) 
         throw new IllegalArgumentException();
   }
   
   /**
      Advances this day by n days. For example. 
      d.advance(30) adds thirdy days to d

      @param n the number of days by which to change this
         day (can be  0 if this day comes after b)
    */
   
   public int daysBetween(Day b)
   {  return toJulian() - b.toJulian();
   }

   /**
      A string representation of the day
      
      @return a string representation of the day
    */
   
   public String toString()
   {  return "Day[" + year + "," + month + "," + day + "]";
   }

   /**
      Makes a bitwise copy of a Day object
      
      @return a bitwise copy of a Day object
    */
   
   public Object clone()
   {  try
      {  return super.clone();
      } catch (CloneNotSupportedException e)
      {  // this shouldn't happen, since we are Cloneable
         return null;
      }   
   }

   /**
      Compares this Day against another object
      
      @param obj another object
      @return true if the other object is identical to this Day object
    */

   public boolean equals(Object obj)
   {  if (!getClass().equals(obj.getClass())) return false;
      Day b = (Day)obj;
      return day == b.day && month == b.month && year == b.year;
   }

   /**
      Computes the number of days between two dates
      
      @return true iff this is a valid date
    */
    
   private boolean isValid()
   {  Day t = new Day();
      t.fromJulian(this.toJulian());
      return t.day == day && t.month == month 
         && t.year == year;
   }

   /**
      @return The Julian day number that begins at noon of 
      this day
      Positive year signifies A.D., negative year B.C. 
      Remember that the year after 1 B.C. was 1 A.D.

      A convenient reference point is that May 23, 1968 noon
      is Julian day 2440000.

      Julian day 0 is a Monday.

      This algorithm is from Press et al., Numerical Recipes
      in C, 2nd ed., Cambridge University Press 1992
    */

   private int toJulian()
   {  int jy = year;
      if (year  2) jm++;
      else
      {  jy--;
         jm += 13;
      }
      int jul = (int) (java.lang.Math.floor(365.25 * jy) 
      + java.lang.Math.floor(30.6001*jm) + day + 1720995.0);

      int IGREG = 15 + 31*(10+12*1582);
         // Gregorian Calendar adopted Oct. 15, 1582

      if (day + 31 * (month + 12 * year) >= IGREG)
         // change over to Gregorian calendar
      {  int ja = (int)(0.01 * jy);
         jul += 2 - ja + (int)(0.25 * ja);
      }
      return jul;
   }

   /**
      Converts a Julian day to a calendar date

      This algorithm is from Press et al., Numerical Recipes
      in C, 2nd ed., Cambridge University Press 1992
      
      @param j  the Julian date
    */

   private void fromJulian(int j)
   {  int ja = j;
   
      int JGREG = 2299161;
         /* the Julian date of the adoption of the Gregorian
            calendar    
         */   

      if (j >= JGREG)
      /* cross-over to Gregorian Calendar produces this 
         correction
      */   
      {  int jalpha = (int)(((float)(j - 1867216) - 0.25) 
             / 36524.25);
         ja += 1 + jalpha - (int)(0.25 * jalpha);
      }
      int jb = ja + 1524;
      int jc = (int)(6680.0 + ((float)(jb-2439870) - 122.1)
          /365.25);
      int jd = (int)(365 * jc + (0.25 * jc));
      int je = (int)((jb - jd)/30.6001);
      day = jb - jd - (int)(30.6001 * je);
      month = je - 1;
      if (month > 12) month -= 12;
      year = jc - 4715;
      if (month > 2) --year;
      if (year 

    
 
 

您可能感兴趣的文章:

  • 在下想学习Java,请教各位大侠,Java 有哪功能
  • 我初学java,请教各位开发java用什么工具好?
  • 向java论坛的高手们请教(java不是我的专长)
  • 请教各位DX,我是java初学者,如何在win98下配置jdk,在哪可以下载java类库?
  • 请教一些JAVA的基本问题,初学JAVA有些迷糊,帮帮忙!总迷糊实在受不了了!
  • 请教:Java高手读书之路
  • 请教如何用java虚拟机运行hello.class文件,谢谢。
  • 请教:是java包装载不上吗?
  • 请教如何搭建能够运行JAVA的最精简Linux桌面系统
  • 请教一个关于java.policy的问题
  • 刚学习Java,请教关于Java的Application代码编写问题。
  • 最近学JSP,苦于HTML语言和JAVA语言太差,请教推荐几本书,thanks.
  • 请教??如果将.CLASS反编译为.JAVA文件??
  • 请教关于java学习的问题
  • 请教各位高手一个简单的问题:在JAVA 中如何才能取得一些系统信息?
  • 请教学习JAVA的最佳方法?以免走弯路
  • 请教java中的assert的用法
  • 请教一下,如果想在linux下开发java,选哪个版本的linux好一点
  • Think in java 问题。(请教)
  • 请教各位,是JAVA有前途还是C#有前途?多谢!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • 我现在刚刚学到JAVA的线程和socket,请问《JAVA 2宝典》和《JAVA核心技术卷2:高级特性》哪本书讲得比较好?
  • 请问哪里有 《JAVA核心技术--基础知识》的电子书下载,谢谢!
  • 都说《Tinking in Java》翻译的很烂,那《Java核心技术》呢?
  • 各位大虾,能否告知JAVA的核心思想
  • ************请问何处有《JAVA核心技术2:高级特性》下载?必给分!
  • 谁知道java核心技术卷一,卷二的下载地址,高分相求
  • JAVA 2 核心技术》卷1,卷2的中文电子书?
  • 哪儿有java2图形设计和java2核心技术卷2的电子书下载,跟贴有分!!
  • java2核心技术(2)的代码谁有, 我的光盘掉了.
  • 请问谁有《Java 2核心技术 卷2:高级特性》中多线程(第一章)的内容?
  • 请问哪有《Java 2核心技术》下载?
  • 最新java核心技术 上海哪有卖?
  • 在VAJ中有办法改变核心的JAVA包吗?
  • 哪里有《java 核心》的电子书(pdf或chm)下载?
  • 哪里有<Java 2核心技术 2 高级特性>下载?
  • 学《JAVA2核心技术》的教我用TXTPAD,
  • 各位大侠,知道哪有《JAVA2核心技术卷I/II》pdf电子版吗?!
  • 哪有JAVA核心技术 卷1的随书光盘下载
  • 哪里能够下载java II 核心技术(共两卷)的电子文档???
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3