Conceptos básicos de Java --- estructura de bucle

Estructura de bucle básico de Java (dos): bucles múltiples

Prefacio: El uso del ciclo único mencionado anteriormente ya puede resolver muchos de los problemas encontrados, pero ¿por qué utilizar varios ciclos? Por supuesto, si los problemas encontrados no se pueden resolver con un solo ciclo, se pueden utilizar varios ciclos.

[Por ejemplo: cómo usar la estructura de bucle descrita antes para generar los siguientes gráficos]
Inserte la descripción de la imagen aquí
Tal vez se pueda hacer el primero, pero el segundo es más laborioso, ¡y el tercero simplemente se rinde! ! !

Por lo tanto, para resolver mejor este tipo de problema de bits, es esencial aprender varios ciclos.

Que es bucle múltiple

Inserte la descripción de la imagen aquí

Atención

Inserte la descripción de la imagen aquí

Como se describió anteriormente es la estructura básica de múltiples bucles, por supuesto, también puede ser de 3 capas, 4 capas y así sucesivamente.Sin embargo, se recomienda no exceder las 3 capas., Debido a que hay más de 3 capas, la eficiencia de la ejecución del programa se reducirá en gran medida.

Pero, ¿y si queremos salirnos del círculo?

De lo que hablamos en el capítulo anterior.descanso, De hecho, haySeguirconregreso
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Ejemplo de múltiples bucles

1. Primero, use varios bucles para hacer los dos primeros gráficos
//平行四边形
 for (int i = 0; i <5 ; i++) {						//控制行数
            for (int k = 0; k <4-i ; k++) {			//列-空格
                System.out.print(" ");
            }
            for (int j = 0; j < 5; j++) {			//列-*
                System.out.print("*");
            }
            System.out.println();
 }
//金字塔
System.out.println("请输入你要几行");          	  //输出数字金字塔
        int n = new Scanner(System.in).nextInt();
        for(int i =1;i<=n;i++){                   //外层循环控制行数,内层循环控制列
            for(int j=1;j<=n-i;j++){              //空格
                System.out.print(" ");
            }
            for(int k=1;k<=2*i-1;k++){            //输出内容
                System.out.print("*");			  //其实这里的 * 可以改成 i,你们可以试一下哦
            }
            System.out.print("\n");
  }
//圣诞树--其实就只在金子塔的基础上加了奇偶判断
System.out.println("请输入你要几行");          		  //圣诞树(上面的加入奇偶行判断)
        int n = new Scanner(System.in).nextInt();
        for(int i =1;i<=n;i++){                       //外层循环控制行数
            for(int j=1;j<=n-i;j++){                  //空格
                System.out.print(" ");
            }
            if(i%2==0){
                for(int k=1;k<=2*i-1;k++){            //输出内容
                    System.out.print("~");
                }
            }else {
                for(int k=1;k<=2*i-1;k++){            //输出内容
                    System.out.print("*");
                }
            }
            System.out.print("\n");
  }

El resultado se muestra en la figura.
Inserte la descripción de la imagen aquí

En segundo lugar, hagamos un poco sobre el problema clásico de los ciclos múltiples.

1. Número primo

//输出2-100之间的素数
for (int i = 2; i <=100 ; i++) {			//外层循环2-100
            int tag = 0;					//标记是否为素数
            for (int j = 2; j <i ; j++) {	//内层循环从2到自生
                if(i%j==0){					//判断是否为素数
                    break;
                }else {
                    tag = 1;
                }
            }
            if(tag==1){
                System.out.print(i+"\t");
         	 }
 }

Inserte la descripción de la imagen aquí
[Sugerencia: El formato de salida aquí es un poco feo, no se preocupe, podemos generar de acuerdo a cuántas líneas por línea después de terminar el siguiente capítulo.
2. Tabla de multiplicar del 9 * 9

//9*9乘法表
for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
 }

Inserte la descripción de la imagen aquí

Tabla de multiplicar 9 * 9 en otro formato

for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= 9-i; j++) {
                System.out.print("\t\t");		//为了美观这里格式不要出
            }
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+i*j+"\t");
            }
            System.out.println();
 }

Inserte la descripción de la imagen aquí
Puedes ver la diferencia entre los dos.

3. Número de palíndromos

//回文数
System.out.println("请输出一个数,判断它是否为回文数");
        int x = new Scanner(System.in).nextInt();
        if (x < 0) {
            System.out.println(false);
        }
        int reverse = 0;
        int number = x;
        while (number != 0) {
            int temp = number % 10;		//取最后一个数
            number /= 10;				//去掉最后一位
            reverse = reverse * 10;		//低位变高位
            reverse += temp;			//形成相反的数
        }
System.out.println(reverse==x);			//比较反转前后,相同则是回文数

El resultado se muestra en la figura.
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_43288259/article/details/112499460
Recomendado
Clasificación