完全按照书上敲的,本意是根据随机生成数输出今天是星期几的程序,书上的意思是为该类设计一个private的默认构造函数,这样可以避免给该类生成对象。(在某些情况下不需要生成对象,只把它当成公共程序),正常情况下这个程序应该显示DayOfweek() has private access in DayOfWeek
而我的程序显示的是Application0510201.java:4: invalid method declaration; return type required
    private DayOfWeek(){
            ^
Application0510201.java:16: 'class' or 'interface' expected
pubic class Application0510201{
^
2 errors请问大家,哪里错了?谢谢
import java.util.*;class DayoOfWeek{
    private DayOfWeek(){
    }     public static final int SUNDAY=0;
     public static final int MONDAY=1;
     public static final int TUESDAY=2;
     public static final int WEDNESDAY=3;
     public static final int THURSDAY=4;
     public static final int FRIDAY=5;
     public static final int SATURDAY=6;
}pubic class Application0510201{
      public static void main(String[] args) throws Exception{
          Random  randomG=new Random();
          
          for(int i=0;i<10;i++){
              int value =randomG.nextInt(7);
              DayOfWeek DayOfweek=new DayOfWeek();
              switch(value){
                  case  DayOfWeek.SUNDAY:
                     System.out.println("星期日");
                     break;
                  case  DayOfWeek.MONDAY:
                     System.out.println("星期一");
                     break;
                  case  DayOfWeek.TUESDAY:
                     System.out.println("星期二");
                     break;
                  case  DayOfWeek.WEDNDAY:
                     System.out.println("星期三");
                     break;
                  case  DayOfWeek.THURSDAY:
                     System.out.println("星期四");
                     break;
                  case  DayOfWeek.FRIDAY:
                     System.out.println("星期五");
                     break;
                  case  DayOfWeek.SATURDAY:
                     System.out.println("星期六");
                     
           }
     }
  }
}

解决方案 »

  1.   

    DayOfWeek DayOfweek=new DayOfWeek();//对象肯定不能生成阿!你的构造函数是private!
    你看看单例模式
      

  2.   

    package com.bb;import java.util.*;class DayOfWeek{
        private DayOfWeek(){
        }     public static final int SUNDAY=0;
         public static final int MONDAY=1;
         public static final int TUESDAY=2;
         public static final int WEDNESDAY=3;
         public static final int THURSDAY=4;
         public static final int FRIDAY=5;
         public static final int SATURDAY=6;
         
          public static void main(String[] args) throws Exception{
              Random  randomG=new Random();          for(int i=0;i<10;i++){
                  int value =randomG.nextInt(7);
                  DayOfWeek DayOfweek=new DayOfWeek();
                  switch(value){
                      case  DayOfWeek.SUNDAY:
                         System.out.println("星期日");
                         break;
                      case  DayOfWeek.MONDAY:
                         System.out.println("星期一");
                         break;
                      case  DayOfWeek.TUESDAY:
                         System.out.println("星期二");
                         break;
                      case  DayOfWeek.WEDNESDAY:
                         System.out.println("星期三");
                         break;
                      case  DayOfWeek.THURSDAY:
                         System.out.println("星期四");
                         break;
                      case  DayOfWeek.FRIDAY:
                         System.out.println("星期五");
                         break;
                      case  DayOfWeek.SATURDAY:
                         System.out.println("星期六");           }
         }
      }
    }
      

  3.   

    class DayoOfWeek{
    private DayOfWeek(){
    }瞪大眼睛,我的天,这种错误!
      

  4.   

    靠,这都没看出来
    你的类如果要:DayOfWeek DayOfweek=new DayOfWeek();
    那你的类的定义:class DayoOfWeek{
        private DayOfWeek(){
        }
    就是错误的,那么private 改为public 就可以了这是个低级的错误哦
      

  5.   

    是这样的,我不清楚大家理解我没有我的意思是说我希望出现错误的提示,即编译时候提示DayOfWeek() has private access in DayOfWeek 
    现在的程序是错误的,就是改为public后也是相同的错误
    另外
    To:jiang_xiao(原来秋天) 为什么你把外面的pubic class Application0510201去掉就正常了?
      

  6.   

    我知道去掉肯定是正常的,都在一个类里了,但是这样构造函数设置为private的提示也没有了,呵呵
      

  7.   

    呵呵,谢谢 yanxiazhiqiu的细心,我已经去掉那个小o了,不过还有一个地方有错误就是Application0510201.java:16: 'class' or 'interface' expected
    pubic class Application0510201{
    ^
    1 error