1

我的作业需要帮助。它是关于创建自己的类,然后使用你在该类中创建的方法到另一个类中执行某个任务。我已经创建了两个类,一个是 Date 和我的构造函数,一个是我的类的所有方法,一个是 DateTest 类显示我的结果。在我的情况下,我希望我的程序显示一个带有我在其中硬编码的初始日期的文本,然后显示第二行将显示新日期的文本。我的问题是,当我运行程序时,它只显示显示初始化日期和新日期的文本,但不打印实际数字。我认为这可能与我的 get 方法有关,但我不确定。我也是这个网站的新手,所以请公开我为使这篇文章看起来非常难看而发疯的任何错误。

课程日期代码

public class Date {

//instance variables
private int month;
private int day;
private int year;

//constructor
public Date( int month, int day, int year){
    this.month = month;
    this.day = day;
    this.year = year;
}

    //set methods
    public void setMonth (int month){
        this.month = month;
    }

    public void setDay(int day){
        this.day = day;
    }

    public void setYear(int year){
        this.year = year;
    }

    //get methods
    public int getMonth(){
        return month;
    }

    public int getDay(){
        return day;
    }

    public int getYear(){
        return year;
    }

    //Display mehtod
    public String displayDate(){
        return "Date with new values is: " + month + "/" + day + "/" + year;
    }

    }//end of coding

日期测试代码

public class DateTest {

public static void main(String[] args) {
     Date date1 = new Date( 7, 4, 2004 );// create new date object

      System.out.println( "The initial date is: ");//display initial value
      date1.getMonth();
      date1.getDay();
      date1.getYear();
      date1.displayDate();

      // change date values
      date1.setMonth( 11 );
      date1.setDay( 1 );
      date1.setYear( 2003 );

      System.out.println( "Date with new values is: " );
      date1.displayDate();

      System.out.println();          // output a newline

}

}//end class DateTest

当我运行我的程序时会发生什么

初始日期是:
具有新值的日期是:(日期
的数字没有出现)

4

3 回答 3

1

Return只是从方法返回一个值,它不打印它。您将需要使用该方法或类似System.out 的东西

public int getMonth(){
    return month; //not print 
}

这种风格的方法应该打印出类似的东西

System.out.println(date1.getMonth()); // print the return value obtained from the method

如果你有这样的方法

public int getMonth(){
    System.out.println(month); //Yes, print 
}

如果你可以从你的主类调用它并打印值

date1.getMonth();
于 2016-09-10T05:39:00.300 回答
1

我相信你是 Java 新手,现在的问题System.out.println()是你需要一些不为空的东西才能放在括号内

println(*SOME VALUE SHOULD GO HERE*)

现在回到你的身边 Q,date1.displayDate();正在返回一个以可爱的方式携带日期的字符串,但是这个返回的值没有在任何地方使用,所以你真的不能打印它。

现在如果你想打印字符串

具有新值的日期为:" + 月 + "/" + 日 + "/" + 年;

做这样的事情,

String dateValue=date1.getDate();
System.out.println(dateValue);

这段代码可以进一步压缩成这样的东西,

System.out.println(date1.getDate());

希望这可以解释问题,如果可行,请不要忘记接受我的回答,干杯!!

于 2016-09-10T05:51:15.483 回答
0

您没有打印声明。

  date1.displayDate();

上面的语句应该在里面

System.out.println(date1.displayDate());

于 2016-09-10T05:48:15.737 回答