如何从其他方法调用返回是其他方法的输入?
问题描述:
我希望能够调用另一个输入的三种方法的回报。在下面的例子中,我有其他方法从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;
}
答
无法测试,因为我不上课指明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;
}
答
如果我理解你的问题,你可以使用一个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
而错误信息e是? – 2014-10-19 14:36:43
看来你只是写了一些代码出来的任何方法或块('System.out.println'),这就是为什么它不编译。另外,为什么你要用类的名称给你的方法调用加上前缀,而你在这个类中是**? – Dici 2014-10-19 14:39:09
那么你可以给你的方法一个价值。例如int day = dayMethod(date); int month = monthMetod(date); int year = yearMethod(date),然后调用dayOfWeekMethod(day,month,year)。 例如:System.out.println(“日期为”+ dayOfWeekMethod(day,moth,year)) – charen 2014-10-19 14:44:21