[Foto + Video] Java basado en los ejercicios clásicos (a) de salida de los números primos entre 2 y 100, y el número de números primos

Código no puede resolver el problema se puede escribir una vez y
tenemos que encontrar la falta de modo de depuración y luego hacer cambios después de nuestra idea de escribir
código que se pueden obtener sólo después de varias pruebas para resolver el problema!
A través del estudio, ejercicios prácticos basados en el clásico [Java], vamos a trabajar juntos para cultivar esta forma de pensar para resolver el problema.

La primera pregunta: ¿cuántos números primos entre 2-100 determinación y salidas de todos los primos.

1. Video Tutorial:

Pensamiento entre 2-100 principales requisitos
exigen un número primo entre 2-100 Código Explicación

2. La idea del análisis:

P1: ¿Qué es un número primo?
A1: prime (número primo) se refiere al mayor número natural de 1, en adición a 1 y el número en sí fuera , no puede ser divisible por el número de otros naturales números. (Es decir un número 1 y el mismo sólo dos factores )

P2: ¿Cómo saber si un número tiene, además de 1 y el número en sí un factor?
A2: Tomemos un ejemplo para analizar 4:

  • Determina si un número divisible por cuatro, nada más que sólo los cuatro casos siguientes:
    Caso 1: 4/1
    Caso 2: 4/2
    Caso 3: 4/3
    Caso 4: 4/4
  • Por lo que sabemos: Cada número 1 y el mismo tiene dos factores (es decir, cada número puede ser divisible por 1 y él mismo)
    por lo que tenemos un número divisible por juzgar si [4] sólo es necesario considerar lo siguiente en ambos casos:
    caso 2: 4/2
    Escenario 3: 4/3
  • Por lo tanto, podemos resumir regla:
    la determinación de si un número de otros factores , para hacer que el número de eliminado [2- (número requerido determinado -1)] El número dentro de este intervalo .
    La determinación sólo necesita mirar a 4: 4 / 2,4 / 3

  • Para ver si hay divisible ocurre ambos casos:
    si no hay una descripción de este número no es un número primo , el próximo será un juez
    si no hay una descripción de este número es un número primo , como la salida de este número, y dejó escapar [número variable de números primos] más 1 se determina una vez más.

    3. Código + + respuesta detallada:

package Exercise;

public class SuShu1 {

    public static void main(String[] args) {
        int i = 0;
        int j = 0;
        int count = 0;//储存2-100之间的素数个数
        boolean flag = true;
//用处:在当一个数有【除1和它本身之外的因数】时,使其值变为false,以便进入下一次循环
        for (i = 2; i <= 100; i++) {//从2-100开始进行循环
            flag = true;
//每完成一次for循环需要把flag值重新置为true,否则将会影响下次的循环
            for (j = 2; j < i; j++) {
//用此for循环的数字来判断i是否有【除1和它本身之外的因数】
                if (i % j == 0) {//如果i%j==0,说明i有【除1和它本身之外的因数】
                    flag = false;//这时让flag = false;
                    break;//并退出这个双重for循环
                }
            }
            if (flag == true) {
//从双重for循环退出后,判断flag的值是否是true,若为true则说明此数为素数
                count++;//存储素数的总和加1
                System.out.println("从2-100之间的素数有:" + i);//输出素数结果
            }
        }
        System.out.println("从2-100之间的素数个数有:" +count);//输出素数总个数
    }

}

Código explicación: En Caso i = 4

  1. i = 4 4 <100
  2. flag = true
  3. j = 2, 2 <4
  4. Debido a que i% j == 0 (es decir, 4% 2 == 0), de modo flag = false. Y ejecutar la sentencia break.
  5. declaración de la rotura de ejecución después de la salida para el segundo ciclo. (Después de realizar sentencia break, el código detrás de la declaración de la rotura no se ejecutará y poner fin a la capa actual ciclo)
  6. Porque ahora falsa la bandera == no se satisface si (== true bandera) condición
  7. Así i ++ i = 5, se determina el tiempo para entrar

resultados:
Aquí Insertar imagen Descripción

4. Preparamos los huevos:

Aquí Insertar imagen Descripción

Supongo que te gusta

Origin www.cnblogs.com/Qpgshare/p/12516390.html
Recomendado
Clasificación