import java.util.Scanner;class Date
{
private int month;
private int day;
private int year;

public void setMonth(int month)
{
   month=month;
}
public int getMonth()
{
   return month;
}
public void setDay(int day)
{
day=day;
}
public int getDay()
{
      return day;
}
public void setYear(int year)
{
year=year;
}

public int getYear()
{
return  year;
}
public void displayMessage()
{
System.out.printf("%d/%d/%d",getDay(),getMonth(),getYear());         
}  



}
public class DateTest
{
public static void main(String args[])
{
   Scanner input=new Scanner(System.in);            
  
 
   int day1=0;
   int month1=0;
   int year1=0;
  
  
  
       Date mydate=new Date();
       
        System.out.println("Enter the digital:");
   day1=input.nextInt();
 
   month1=input.nextInt();
 
   year1=input.nextInt();
           mydate.displayMessage();   
  
}

}
import java.util.Scanner;class Date
{
private int month;
private int day;
private int year;

public void setMonth(int month)
{
   month=month;
}
public int getMonth()
{
   return month;
}
public void setDay(int day)
{
day=day;
}
public int getDay()
{
      return day;
}
public void setYear(int year)
{
year=year;
}

public int getYear()
{
return  year;
}
public void displayMessage()
{
System.out.printf("%d/%d/%d",getDay(),getMonth(),getYear());         
}  



}
public class DateTest
{
public static void main(String args[])
{
   Scanner input=new Scanner(System.in);            
  
 
   int day1=0;
   int month1=0;
   int year1=0;
  
  
  
       Date mydate=new Date();
       
        System.out.println("Enter the digital:");
   day1=input.nextInt();
 
   month1=input.nextInt();
 
   year1=input.nextInt();
           mydate.displayMessage();   
  
}

}
    
   我编译通过了输入了12,11,2008三个数,执行项目后: 
--------------------配置:            <-------------------- Enter the digital: 
12 
11 
2008 
0/0/0 
处理已完成。            
                        随便输入三个数字,都是0/0/0 
                    是没有调用displayMessage吗? 
                        正确的应该怎样?请高手指点我一下  
      
    

解决方案 »

  1.   

    import java.util.Scanner; class Date 

    private int month; 
    private int day; 
    private int year; public void setMonth(int month) 

      this.month=month; 

    public int getMonth() 

      return month; 

    public void setDay(int day) 

    this.day=day; 

    public int getDay() 

        return day; 

    public void setYear(int year) 

    this.year=year; 
    } public int getYear() 

    return  year; 

    public void displayMessage() 

    System.out.printf("%d/%d/%d",getDay(),getMonth(),getYear());        
    } } 
    public class DateTest 

    public static void main(String args[]) 

                  
      Scanner input=new Scanner(System.in);   int day1=0; 
      int month1=0; 
      int year1=0; 
      
      
     
          Date mydate=new Date(); 
          
          System.out.println("Enter the digital:"); 
      day1=input.nextInt();   month1=input.nextInt();   year1=input.nextInt();
      
       
      mydate.setDay(day1);
      mydate.setMonth(month1);
      mydate.setYear(year1);      mydate.displayMessage(); 
        
      
    } } 
      

  2.   

    Date mydate=new Date(); 这里调用了默认构造函数,把三个成员变量初始化为0.
      

  3.   

    import java.util.Scanner; class Date 

    private int month; 
    private int day; 
    private int year; 
    public Date()
    {
    month=0;
    day=0;
    year=0;
    }
    public Date(int month,int day,int year)
    {
    month=month;
    day=day;
    year=year;
    }
    public void displayMessage() 

    System.out.printf("%d/%d/%d",getDay(),getMonth(),getYear());        


    public class DateTest 

    public static void main(String args[]) 

                  
      Scanner input=new Scanner(System.in);   int day1=0; 
      int month1=0; 
      int year1=0; 
      
           
          
          System.out.println("Enter the digital:"); 
      day1=input.nextInt();   month1=input.nextInt();   year1=input.nextInt(); 
       Date mydate=new Date(month1,day1,year1); 
      
       mydate.displayMessage(); 
        
      
    } } 
    用构造函数,方便又简单.
      

  4.   

    我用了构造函数
    public Date(int month,int day ,int year)
    {
    month=month;
    day=day;
    year=year;
    }
      Date mydate=new Date(); 
    改为  Date mydate=new Date(day1,month1,year1);
    怎么还是0/0/0 ?