天天看点

java流程控制_02(break,continue,打印三角形,debug)1. break,continue2.打印图形

break,continue,打印三角形,debug

  • 1. break,continue
  • 2.打印图形
    • 2.1等边三角形
    • 2.2树

1. break,continue

版权声明:截图来源狂神视频

java流程控制_02(break,continue,打印三角形,debug)1. break,continue2.打印图形
public static void main(String[] args) {
        //输出1到100.其中10的倍数不输出
        int i =0;
        while(i<100)
        {
           i++;
           if (i%10==0)
           {
               System.out.println();
               continue;//当i为10的倍数时,continue直接返回到循环最原始的位置,不输出i的值
           }
            System.out.print(i + "\t");
        }
    }
           

2.打印图形

2.1等边三角形

测试一:

package com.Macong.struct;

import java.util.Scanner;

public class Triangle {
    public static void main(String[] args) {
        // 我们采用动态输入行数
        /*
        解题步骤:
        1.先搞清楚我们要输入的是实心和空心三角形
        2.按照每行输出,还是每列。这边我们用行输出。先
        3.搞清楚三角形的每一行规律,比如(*和空白)与行规律

        4.写出表达式(k表示行,j 控住空白的输出,i控制*的输出),首先每行先输出空白
           空白个数:[(2*number-1)-(2*k-1)]/2;空白的个数等于边三角形的底长 - 每行的*个数 ,然后除以2
           *的个数,等于2*k-1;行号*2-1;

         */

        Scanner scanner = new Scanner(System.in);
        //打印实心的三角形
        int k;//代表行数
        int i;//控制字符*的个数
        int number;//行数
        System.out.println("请输入三角形的行数");
        number = scanner.nextInt();
        //k表示行,i控制*的输出个数,我们按每行来输出,所以外面嵌套一个k循环
        for (k = 1; k <= number; k++) {
            //这边要添加空格的输出,要不然就是直角三角形了
            for (int j=1;j<=((2*number-2*k)/2);j++)
            {
                System.out.print(" ");

            }
            //控制* 的输出
            for (i = 1; i <= (2 * k - 1); i++) {

                System.out.print("*");
            }
            //每行结束的输出一个换行。
            System.out.println("");
        }
        //关闭输入流
        scanner.close();
    }
}

           

测试二:狂神的方法,更简单

解题思路:将三角形分为三部分打印,拆分的思想,打印每个部分,然后拼成图形。按行为单位操作。

java流程控制_02(break,continue,打印三角形,debug)1. break,continue2.打印图形

2.2树

package com.Macong.struct;

import java.util.Scanner;

public class TreeDemo01 {
    public static void main(String[] args) {
        /*
        解题思路:(圣诞树要分奇数行和偶数行圣诞树)我们这边奇数行

        1.首先我们按行输出,弄清楚每行的规律
        2.找到树叶和树干的交界的行,以这个行把叶和干区分开
        3.写出叶的每行表达式
          写出树干的每行表达式
         */

        Scanner scanner = new Scanner(System.in);
        //打印实心的三角形
        int k;//控制行数
        int i;//控制字符*的个数
        int j;//控制空白部分的输出
        int number;//总行数
        System.out.println("请输入三角形的行数");
        number = scanner.nextInt();


        //树叶行的输出
        for (k = 1; k <= (number / 2) + 1; k++) {
            //这边要添加空格的输出,要不然就是直角三角形了
            for (j = 1; j <= ((number + 2 - 2 * k) / 2); j++) {
                System.out.print(" ");

            }
            //控制* 的输出
            for (i = 1; i <= (2 * k - 1); i++) {

                System.out.print("*");
            }
            //每行结束的输出一个换行。
            System.out.println("");
        }

        //树干行的输出
        for (k = ((number / 2) + 1); k <= number; k++) {
            //这边要添加空格的输出,要不然就是直角三角形了
            for (j = 1; j <= (number + 1 - number / 2)/2; j++) {
                System.out.print(" ");

            }
            //控制* 的输出
            for (i = 1; i <= (number / 2); i++) {

                System.out.print("*");
            }
            //每行结束的输出一个换行。
            System.out.println("");
        }
        //关闭输入流
        scanner.close();
    }
}

           
java流程控制_02(break,continue,打印三角形,debug)1. break,continue2.打印图形