Ingrese el año, mes y día con el teclado para determinar que este día es el día del año

Ingrese el año, mes y día con el teclado para determinar que este día es el día del año

Descripción del título:
ingrese el año, mes y día por separado del teclado y juzgue que este día es el día del año.
Nota: El estándar para juzgar si un año es bisiesto:
1) Divisible por 4, pero no divisible por 100
o
2) Puede ser divisible por 100400 divisible

Ideas para la resolución de problemas:
utilice una estructura de caso de interruptores, pero preste atención a si es un año bisiesto.

Resumen:
1. Cómo obtener diferentes tipos de variables desde el teclado: Necesidad de usar la clase de escáner
Pasos de implementación específicos:
1. Importar paquete: importar java.util.Scanner;
2. Crear instancia de escáner: Escáner de escáner = nuevo escáner (System. in);
3. Llame al método correspondiente de la clase Scanner para obtener la variable del tipo especificado
. Demostración de código:

import java.util.Scanner;//
Scanner scan = new Scanner(System.in);
int year = scan.nextInt();

2. Estructura de rama 2: caja de interruptores
1. Formato

switch(表达式){
    
    
case 常量1:
	执行语句1;
	//break;

case 常量2:
	执行语句2;
	//break;

...

default:
	执行语句n;
	//break;
}

2. Descripción:
① De acuerdo con el valor en la expresión del interruptor, haga coincidir las constantes en cada caso por turno. Una vez que la coincidencia es exitosa, ingresa a la estructura de caso correspondiente y llama a su declaración de ejecución.
Después de llamar a la instrucción de ejecución, la instrucción de ejecución en otras estructuras de casos continuará ejecutándose hasta que se encuentre la palabra clave break o el
final de la estructura de caso de conmutación .

Break se puede usar en la estructura de caso de cambio, lo que significa que una vez que se ejecuta la palabra clave, saltará de la estructura de caso de cambio.
③ La expresión en la estructura de cambio solo puede ser uno de los siguientes seis tipos de datos:
byte, short, char, Int, tipo de enumeración (nuevo en JDK5.0), tipo de cadena (nuevo en JDK7.0)

④ Solo se pueden declarar constantes después del caso, no del alcance.
⑤ La palabra clave break es opcional.
⑥ predeterminado: equivalente a else en la estructura if-else.
La estructura predeterminada es opcional y la ubicación es flexible

El código Java para esta pregunta:

import java.util.Scanner;

/*
从键盘分别输入年、月、日,判断这一天是当年的第几天

	注:判断一年是否是闰年的标准:
		1)可以被4整除,但不可被100整除
	  或
		2)可以被400整除

*/
public class DayJudge {
    
    
	public static void main(String[] args) {
    
    

		Scanner scan = new Scanner(System.in);
		System.out.println("请输入year:");
		int year = scan.nextInt();
		System.out.println("请输入month:");
		int month = scan.nextInt();
		System.out.println("请输入day:");
		int day = scan.nextInt();

		int sumDays = 0; // 定义一个变量来保存总天数

		switch (month) {
    
    
		case 12:
			sumDays += 30;
		case 11:
			sumDays += 31;
		case 10:
			sumDays += 30;
		case 9:
			sumDays += 31;
		case 8:
			sumDays += 31;
		case 7:
			sumDays += 30;
		case 6:
			sumDays += 31;
		case 5:
			sumDays += 30;
		case 4:
			sumDays += 31;
		case 3:
			// sumDays += 28;
			// 判断year是否是闰年
			if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
    
    
				sumDays += 29;
			} else {
    
    
				sumDays += 28;
			}
		case 2:
			sumDays += 31;
		case 1:
			sumDays += day;
		}
		System.out.println(year + "年" + month + "月" + day + "日是当年的第" + sumDays + "天");
	}
}

Supongo que te gusta

Origin blog.csdn.net/qq_45555403/article/details/114129470
Recomendado
Clasificación