软考
APP下载

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

在学习编程语言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年是闰年。

备考资料 免费领取:软件设计师报考指南+考情分析+思维导图等 立即下载
真题演练 精准解析历年真题,助你高效备考! 立即做题
相关阅读
软件设计师题库