猿问

我如何让我的新值通过 if 语句返回

我正在尝试获取会议之前的天数,以便返回并打印出新会议开始的日期,但我一直得到一个整数而不是字符串。


import java.util.Scanner;

public class NextMeeting {

    public static void main(String [] args) {

        int day, daysToMeeting = 0;

        Scanner scan = new Scanner(System.in);


        System.out.println("Enter the day of the week 0-6: ");

         day = scan.nextInt();

        System.out.println("Enter the days to meeting: ");

        daysToMeeting = scan.nextInt();


        if (day == 0) {

            System.out.println("Today is Sunday");

        } else if (day == 1) {

            System.out.println("Today is Monday");

        }

        else if (day == 2) {

            System.out.println("Today is Tuesday");

        }

        else if (day == 3) {

            System.out.println("Today is Wednesday");

        }

        else if (day == 4) {

            System.out.println("Today is Thursday");

        }

        else if (day == 5) {

            System.out.println("Today is Friday");

        }

        else if (day == 6) {

            System.out.println("Today is Saturday");

        }


        System.out.println("Today is: " + day);



        if( daysToMeeting >= 6) {

            day = daysToMeeting - 7;

        }

        else {

            day = day + 6;

        }

        System.out.println("Days to the meeting is " + daysToMeeting + " +days.");

        System.out.println("Meeting day is : " + Integer.toString(day));

    }

}

天的输出仍然是 3,但我们需要让它在星期三打印出来。我不知道如何做到这一点。


收到一只叮咚
浏览 158回答 3
3回答

慕容森

您可以使用DayOfWeek枚举。System.out.println("Meeting day is : " + DayOfWeek.of(day).toString());您还可以删除嵌套if-else语句并使用DayOfWeek枚举来显示“今天是 xyz 天”。

繁星淼淼

只需创建一个方法,该方法将通过传递 day int 来返回星期几 String。然后打印结果。public String intToDayName(int day) {            if(day > 6) {                day = day % 7;             }           if (day == 0) {                return "Sunday";             } else if (day == 1) {                return "Monday";            }            else if (day == 2) {                return "Tuesday";             }            else if (day == 3) {                return "Wednesday";            }            else if (day == 4) {                return "Thursday";            }            else if (day == 5) {                return "Friday";            }            else if (day == 6) {                return "Saturday";            }           return "Error";    }在您的打印中调用它:System.out.println("Meeting day is : " + intToDayName(daysToMeeting));System.out.println("Today is " + intToDayName(day));如果你真的想让你的代码返回并打印第一个 if-else 语句,那么我建议循环。

萧十郎

您正在打印整数,因为 day 是一个整数。这可能效率低下,但一个简单的解决方法是创建一个 String 变量,然后在 daysToMeeting if-else 块下方的另一个 if 语句块中,将 String 分配给每个相应的整数,例如String meetingDay;if(day == 1){    meetingDay = "Monday";}然后使用 String 变量打印出来。System.out.println("Meeting day is : " + meetingDay);
随时随地看视频慕课网APP

相关分类

Java
我要回答