Java da entrada aos exercícios do capítulo mestre - Capítulo 11

Java da entrada aos exercícios do capítulo mestre - Capítulo 11

Exercício 1 Imprimir Calendário

Exercício abrangente 1: Imprimindo o calendário Use a classe Calendar para calcular e imprimir o calendário do mês atual

package org.hj.chapter11;

import java.util.Calendar;
import java.util.Date;

public class PrintCalendar {
    
    

    /**
     * 综合练习1:打印日历 使用Calendar类计算并打印当前月份的日历
     */


    public static void main(String[] args) {
    
    
        // 获取当前时间
        Calendar cal = Calendar.getInstance();
        int year = cal.get(Calendar.YEAR);
        int month = cal.get(Calendar.MONTH) + 1; // 注意月份是从0开始的,所以要加1

        // 打印日历头部
        System.out.printf("%d年%d月\n", year, month);
        System.out.println("日\t一\t二\t三\t四\t五\t六");

        // 获取当前月份第一天是星期几
        cal.set(Calendar.DAY_OF_MONTH, 1);
        int firstDayOfWeek = cal.get(Calendar.DAY_OF_WEEK);

        // 打印当前月份的日历
        int day = 1;
        for (int i = 1; i <= 6; i++) {
    
    
            for (int j = 1; j <= 7; j++) {
    
    
                if (i == 1 && j < firstDayOfWeek) {
    
    
                    System.out.print("\t"); // 打印空格占位
                } else if (day > cal.getActualMaximum(Calendar.DAY_OF_MONTH)) {
    
    
                    break;
                } else {
    
    
                    System.out.printf("%d\t", day++);
                }
            }
            System.out.println();
        }
    }
}

Exercício 2 Teorema de Pitágoras

Exercício abrangente 2: números do teorema de Pitágoras Descubra quais números de 1 a 100 estão de acordo com o teorema de Pitágoras. Por exemplo 3, 4, 5.

O teorema de Pitágoras afirma que a soma dos quadrados dos dois lados de um triângulo retângulo é igual ao quadrado da hipotenusa, ou seja, a² + b² = c². Onde a, b, c são inteiros positivos, e a < b < c. Portanto, podemos usar um loop duplo para percorrer todas as combinações possíveis para determinar se o teorema de Pitágoras é atendido:

package org.hj.chapter11;

public class PythagoreanTheorem {
    
    

    /**
     * 综合练习2:勾股定理数 找出1~100中都有哪些数符合勾股定理。例如3、4、5。
     */

    /**
     * 勾股定理指的是:直角三角形的两条直角边的平方和等于斜边的平方,
     * 即a² + b² = c²。其中a、b、c为正整数,且a < b < c。
     * 因此,我们可以使用双重循环来遍历所有可能的组合,判断是否符合勾股定理:
     */
    public static void main(String[] args) {
    
    
        for (int a = 1; a <= 100; a++) {
    
    
            for (int b = a + 1; b <= 100; b++) {
    
    
                for (int c = b + 1; c <= 100; c++) {
    
    
                    if (a * a + b * b == c * c) {
    
    
                        System.out.printf("%d、%d、%d\n", a, b, c);
                    }
                }
            }
        }
    }
}

Exercício 3 coordenar o movimento

Exercício Abrangente 3: Movimento de Coordenadas A posição de coordenadas de uma pequena bola no sistema de coordenadas cartesianas é (15,4), e ela se move a uma distância de 100 unidades para o nordeste em um ângulo de 30° com a linha vertical. movimentos Quais são as coordenadas de ?

Você pode adicionar o vetor (100cos30°, 100sin30°) às coordenadas originais (15, 4) para obter as coordenadas movidas.

package org.hj.chapter11;

public class CoordinateMovement {
    
    

    /**
     * 综合练习3:坐标移动 一个小球在直角坐标系中的坐标位置是(15,4),
     * 它向与竖直线成30°角的东北方向移动了100个单位的距离,请问小球移动后的坐标是多少?
     *
     * 可以将向量(100cos30°, 100sin30°)加到原始坐标(15, 4)上,得到移动后的坐标。
     */

    public static void main(String[] args) {
    
    
        double x = 15 + 100 * Math.sin(Math.toRadians(30)); // sin函数参数为弧度制,需将角度转换为弧度
        double y = 4 + 100 * Math.cos(Math.toRadians(30)); // cos函数参数为弧度制,需将角度转换为弧度
        System.out.printf("移动后的坐标为:(%.2f, %.2f)", x, y);
    }
}

Acho que você gosta

Origin blog.csdn.net/dedede001/article/details/130310562
Recomendado
Clasificación