【问题标题】:How to call returns from other methods is inputs for others?如何调用其他方法的返回是其他方法的输入?
【发布时间】:2014-12-14 14:30:10
【问题描述】:

我希望能够为另一个输入的三个方法调用 return。在下面的示例中,我有其他方法从 MM/DD/CCYY 日期中提取月、日和年。然后,dayOfWeekMethod 获取这些整数并计算出该给定日期的星期几。如何正确格式化前两行以正确给出结果?谢谢!!

这是我所拥有的(做错了):

System.out.println("The date is "+MyDateTest.dayOfWeekMethod(MyDateTest.monthMethod(date),
 MyDateTest.dayMethod(date), MyDateTest.yearMethod(date));

public static int dayMethod(String dateInput){
    int day = MyDate.getDay(dateInput);

return day;
}

public static int monthMethod(String dateInput){
    int month = MyDate.getMonth(dateInput);

    return month;
}

public static int yearMethod(String dateInput){
    int year = MyDate.getYear(dateInput);

    return year;
 }

public static String dayOfWeekMethod(int month, int day, int year){
    String dayOfWeek = MyDate.dayofWeek(month, day, year);

    return dayOfWeek;
}

【问题讨论】:

  • 错误信息是?
  • 您似乎只是从任何方法或块(System.out.println)中编写了一些代码,这就是它无法编译的原因。另外,为什么你在你的方法调用前加上类名,而你在这个类中?
  • 你可以给你的方法一个价值。例如 int day = dayMethod(date); int 月 = 月方法(日期); int year = yearMethod(date) 然后调用 dayOfWeekMethod(day,month,year)。例如:System.out.println("日期为"+dayOfWeekMethod(day,moth,year))
  • 您在调用System.out.println()时缺少右括号

标签: java methods calendar return dayofweek


【解决方案1】:

由于我没有 MyDate 课程,因此无法测试,但如果您的 MyDate 课程有效,这应该可以工作。

public static void main(String[] args) {
    String date = "";
    int day = dayMethod(date);
    int month = monthMethod(date);
    int year = yearMethod(date);
    System.out.println("The date is "+dayOfWeekMethod(month,day,year));
}

public static int dayMethod(String dateInput) {
    int day = MyDate.getDay(dateInput);

    return day;
}

public static int monthMethod(String dateInput) {
    int month = MyDate.getMonth(dateInput);

    return month;
}

public static int yearMethod(String dateInput) {
    int year = MyDate.getYear(dateInput);

    return year;
}

public static String dayOfWeekMethod(int month, int day, int year) {
    String dayOfWeek = MyDate.dayofWeek(month, day, year);

    return dayOfWeek;
}

【讨论】:

    【解决方案2】:

    如果我理解您的问题,您可以使用 Calendar 实例,例如

    public static String dayOfWeekMethod(int month, int day, int year){
        Calendar cal = new GregorianCalendar(year, month - 1, day);
        switch (cal.get(Calendar.DAY_OF_WEEK)) {
        case Calendar.MONDAY: return "Monday";
        case Calendar.TUESDAY: return "Tuesday";
        case Calendar.WEDNESDAY: return "Wednesday";
        case Calendar.THURSDAY: return "Thursday";
        case Calendar.FRIDAY: return "Friday";
        case Calendar.SATURDAY: return "Saturday";
        case Calendar.SUNDAY: return "Sunday";
        }   
        return null;
    }
    

    然后你可以用类似的东西来调用它,

    // System.out.println("The day is "+ dayOfWeekMethod(
    //   MyDateTest.monthMethod(date), MyDateTest.dayMethod(date),
    //   MyDateTest.yearMethod(date));
    System.out.println(dayOfWeekMethod(10, 19, 2014));
    

    输出是(预期的)

    Sunday
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-26
      • 2021-10-14
      • 1970-01-01
      • 1970-01-01
      • 2018-04-29
      相关资源
      最近更新 更多