break,continue,打印三角形,debug
- 1. break,continue
- 2.打印图形
-
- 2.1等边三角形
- 2.2树
1. break,continue
版权声明:截图来源狂神视频
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();
}
}
测试二:狂神的方法,更简单
解题思路:将三角形分为三部分打印,拆分的思想,打印每个部分,然后拼成图形。按行为单位操作。
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();
}
}