PTA - contando los días

Por favor agregue la descripción de la imagen
Tarjeta de visita personal:

bloguero: Alcohólicos ᝰ.
Perfil personal: Disfrute del vino y luche por un futuro con una bebida.
columna: Ejercicios y análisis de PTA
introducir: Grabé algunos métodos y notas de blogueros aprendiendo preguntas de práctica en pta.

Por favor agregue la descripción de la imagen

prefacio

1. Introducción

La "Plataforma de enseñanza auxiliar experimental de programación de la PTA" es una plataforma de enseñanza auxiliar para cursos de programación dirigida por la Universidad de Zhejiang, administrada y operada por Hangzhou Baiteng Education Technology Co., Ltd., y construida conjuntamente por profesores en colegios y universidades de todo el país. En la actualidad, han participado 538 colegios y universidades de todo el país, y 3.152 profesores han construido conjuntamente 66.095 temas de alta calidad, y el número de estudiantes registrados ha llegado a 1,36 millones; hay 14 conjuntos de temas fijos (que cubren lenguaje C, lenguaje JAVA, Lenguaje Python, estructura de datos, sistema de base de datos) y banco de preguntas de competencia informática de la Universidad de China) y 55 conjuntos de temas de cursos profesionales (que cubren informática, electrónica, literatura, idiomas extranjeros y certificación de Huawei). Hay 10 tipos de preguntas que incluyen preguntas verdaderas y falsas, preguntas para completar espacios en blanco, preguntas de opción múltiple, preguntas de opción múltiple, preguntas para completar espacios en blanco del programa, preguntas sobre funciones, preguntas sobre programación, preguntas subjetivas, preguntas de programación de archivos múltiples y preguntas de programación SQL.

2. Ventajas

  • Apoye a 200,000 personas en línea al mismo tiempo
  • Soporta múltiples tipos de preguntas
  • Admite una variedad de modos de juicio
  • Proporcionar una garantía integral para la calidad de la enseñanza.
  • Sistema de respuesta instantánea a preguntas.

1. El tema

Este problema requiere escribir un programa para calcular el día del año, el mes y el día del año.

Formato de entrada:
la entrada proporciona la fecha en una línea en el formato "aaaa/mm/dd" (es decir, "año/mes/día"). Nota: El criterio para un año bisiesto es que el año del año sea divisible por 4 pero no divisible por 100, o divisible por 400. Febrero en un año bisiesto tiene 29 días.
Formato de salida:
salida de la fecha en una línea como el día del año.

Muestra de entrada 1:
2009/03/02
Muestra de salida 1:
61

Muestra de entrada 2:
2000/03/02
Muestra de salida 2:
62

Código Límite de longitud 16 KB
Límite de tiempo 400 ms
Límite de memoria 64 MB

2. Código

import java.util.Scanner;
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner sc = new Scanner(System.in);
        String time = sc.next();
        int x = 1000;
        int y = 10;
        int z = 10;
        int num = 0;
        int month = 0;
        int day = 0;
        for(int i = 0; i < 4; i++){
    
    //2009
            num = num + Integer.parseInt(String.valueOf(time.charAt(i))) * x;
            x = x / 10;
        }
        for(int i = 5; i < 7; i++){
    
    //03
            month = month + Integer.parseInt(String.valueOf(time.charAt(i))) * y;
            y = y / 10;
        }
        for(int i = 8; i < 10; i++){
    
    //02
            day = day + Integer.parseInt(String.valueOf(time.charAt(i))) * z;
            z = z / 10;
        }
        if((num % 4 == 0 && num % 100 != 0) || num % 400 == 0){
    
    
            switch(month){
    
      
                case 1:
                    System.out.println(day);
                    break;
                case 2:
                    System.out.println(31 + day);
                    break;
                case 3:
                    System.out.println(31 + 29 + day);
                    break;
                case 4:
                    System.out.println(31 + 29 + 31 + day);
                    break;
                case 5:
                    System.out.println(31 + 29 + 31 + 30 + day);
                    break;
                case 6:
                    System.out.println(31 + 29 + 31 + 30 + 31 + day);
                    break;
                case 7:
                    System.out.println(31 + 29 + 31 + 30 + 31 + 30 + day);
                    break;
                case 8:
                    System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + day);
                    break;
                case 9:
                    System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + day);
                    break;
                case 10:
                    System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
                    break;
                case 11:
                    System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day);
                    break;
                case 12:
                    System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
                    break;
                 
            }
        }else {
    
    
            switch(month){
    
      
                case 1:
                    System.out.println(day);
                    break;
                case 2:
                    System.out.println(31 + day);
                    break;
                case 3:
                    System.out.println(31 + 28 + day);
                    break;
                case 4:
                    System.out.println(31 + 28 + 31 + day);
                    break;
                case 5:
                    System.out.println(31 + 28 + 31 + 30 + day);
                    break;
                case 6:
                    System.out.println(31 + 28 + 31 + 30 + 31 + day);
                    break;
                case 7:
                    System.out.println(31 + 28 + 31 + 30 + 31 + 30 + day);
                    break;
                case 8:
                    System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + day);
                    break;
                case 9:
                    System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + day);
                    break;
                case 10:
                    System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
                    break;
                case 11:
                    System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day);
                    break;
                case 12:
                    System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
                    break;
                 
            }
        }
        
    }
}

3. Notas y Análisis

Esta pregunta no es difícil, pone a prueba su comprensión de los conceptos básicos.
Preste atención a los años bisiestos (febrero), meses bisiestos separados (30 y 31 días).

Supongo que te gusta

Origin blog.csdn.net/m0_65144570/article/details/127080902
Recomendado
Clasificación