希赛考试网
首页 > 软考 > 软件设计师

Java输入年月输出该月天数if语句

希赛网 2024-06-03 09:16:21

在学习编程语言Java时,初学者一定会碰到一个问题:如何在Java中输入年月信息,并输出该月份的天数。这个问题可能对于有经验的程序员来说看起来很简单,但对于初学者和编程爱好者来说可能比较具有难度,特别是在应对特定月份天数的计算时。在本文中,我们将介绍基本的if语句,以及如何在Java中实现输入年月并输出月份天数的功能。

基本的if语句

if语句通常用于帮助我们判断条件(如年月份)是否成立,并在条件成立时执行特定代码(如输出月份天数),否则执行其他代码。下面是一个if语句的基本语法:

```

if (condition) {

statement1; // if condition is true, execute statement1

} else {

statement2; // if condition is false, execute statement2

}

```

其中condition部分是Bool类型的表达式,它会被求值。如果表达式结果为true,则执行statement1;否则执行statement2。以下是一个简单的例子,它输出两数中的最大值:

```

int x = 10;

int y = 20;

if (x > y) {

System.out.println("x is greater than y");

} else {

System.out.println("y is greater than x");

}

```

在上面的程序中,如果x大于y,程序就会输出`x is greater than y`。如果x小于等于y,程序就会输出`y is greater than x`。

输入年月并输出月份天数的实现

现在,让我们来看一下如何使用if语句实现输入年月并输出月份天数。在这个过程中,我们还需要使用Java中的Scanner类。Scanner可以帮助我们从键盘上获取输入信息。下面的代码演示了如何使用Scanner类获取用户输入的年份和月份:

```

import java.util.Scanner;

public class DaysInMonth {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("Enter year: ");

int year = input.nextInt();

System.out.print("Enter month (1-12): ");

int month = input.nextInt();

}

}

```

上面的代码片段中,我们使用Scanner类来获取用户输入的年份和月份,然后将它们存储在year和month变量中。

接下来,我们将使用if语句来计算月份的天数。具体来说,我们将使用以下算法:

1. 如果月份是1、3、5、7、8、10或12,则该月有31天;

2. 如果月份是4、6、9或11,则该月有30天;

3. 如果月份是2,那么需要按照以下方式判断:

- 如果年份是闰年(能被4整除但不能被100整除或能被400整除),则该月有29天;

- 否则,该月有28天。

下面的代码演示了如何对输入的年份和月份进行判断。

```

import java.util.Scanner;

public class DaysInMonth {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

System.out.print("Enter year: ");

int year = input.nextInt();

System.out.print("Enter month (1-12): ");

int month = input.nextInt();

if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {

System.out.println("31 days");

} else if (month == 4 || month == 6 || month == 9 || month == 11) {

System.out.println("30 days");

} else if (month == 2) {

if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

System.out.println("29 days");

} else {

System.out.println("28 days");

}

}

}

}

```

在上面的程序中,我们使用嵌套if语句来实现上述算法。具体来说,首先判断月份是否是1、3、5、7、8、10或12;如果是,则输出31天。接下来,判断月份是否是4、6、9或11;如果是,则输出30天。最后,判断月份是否是2,根据上述算法来计算天数。

如果您运行上述代码,并输入2018年2月,则程序会输出“28天”,因为2018年不是闰年。如果您输入2008年2月,则程序会输出“29天”,因为2008年是闰年。

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件