Digite o ano, mês e dia no teclado para determinar que este dia é o dia do ano

Digite o ano, mês e dia no teclado para determinar que este dia é o dia do ano

Descrição do título:
insira o ano, mês e dia separadamente do teclado e julgue que este dia é o dia do ano.
Observação: o padrão para julgar se um ano é um ano bissexto:
1) Divisível por 4, mas não divisível por 100
ou
2) Pode ser divisível por 100 400 divisível

Idéias para a resolução de problemas:
Use a estrutura da caixa de comutação, mas preste atenção se é um ano bissexto.

Resumo:
1. Como obter diferentes tipos de variáveis ​​do teclado: Necessidade de usar a classe Scanner
. Etapas de implementação específicas:
1. Importar pacote: import java.util.Scanner;
2. Instanciar Scanner: Scanner scan = new Scanner (Sistema. in);
3. Chame o método relevante da classe Scanner para obter a variável do tipo especificado
Demonstração de código:

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

2. Estrutura de ramificação 2: caixa de comutação
1. Formato

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

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

...

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

2. Descrição:
① De acordo com o valor na expressão switch, combine as constantes em cada caso. Assim que a correspondência for bem-sucedida, ele entra na estrutura de caso correspondente e chama sua instrução de execução.
Depois que a instrução de execução é chamada, a instrução de execução em outras estruturas de caso continuará a ser executada até que a palavra-chave break ou o
final da estrutura de switch-case seja encontrada .

Break pode ser usado na estrutura switch-case, o que significa que uma vez que a palavra-chave é executada, ela vai pular para fora da estrutura switch-case.
③ A expressão na estrutura switch só pode ser um dos seguintes seis tipos de dados:
byte, short, char, Int, tipo de enumeração (novo no JDK5.0), tipo de string (novo no JDK7.0)

④ Apenas constantes podem ser declaradas após caso, não escopo.
⑤ A palavra-chave break é opcional.
⑥ default: equivalente a else na estrutura if-else.
A estrutura padrão é opcional e o local é flexível

O código Java para esta pergunta:

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 + "天");
	}
}

Acho que você gosta

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