为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

收到一只叮咚 2021-09-26 18:13:12
我正在尝试获取会议之前的天数,以便返回并打印出新会议开始的日期,但我一直得到一个整数而不是字符串。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,但我们需要让它在星期三打印出来。我不知道如何做到这一点。
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

您可以使用DayOfWeek枚举。

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

您还可以删除嵌套if-else语句并使用DayOfWeek枚举来显示“今天是 xyz 天”。


查看完整回答
反对 回复 2021-09-26
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

只需创建一个方法,该方法将通过传递 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 语句,那么我建议循环。


查看完整回答
反对 回复 2021-09-26
?
萧十郎

TA贡献1815条经验 获得超13个赞

您正在打印整数,因为 day 是一个整数。这可能效率低下,但一个简单的解决方法是创建一个 String 变量,然后在 daysToMeeting if-else 块下方的另一个 if 语句块中,将 String 分配给每个相应的整数,例如


String meetingDay;

if(day == 1){

    meetingDay = "Monday";

}

然后使用 String 变量打印出来。


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


查看完整回答
反对 回复 2021-09-26
  • 3 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信