Java编程练习Day04
循环控制练习01
使用while与自增运算符循环遍历数组
本实例利用自增运算符结合while循环获取每个数组元素的值,然后把他们输出到控制台中。
public class ErgodicArray {
public static void main(String[] args) {
//创建鸟类数组
String[] aves = new String[]{"白鹭","丹顶鹤","黄鹂","鹦鹉","乌鸦","喜鹊"};
int index = 0 ;
System.out.println("我的花园里有很多鸟,种类大约包括:");
while(index < aves.length)
System.out.println(aves[index++]);
}
}
运行结果如下:
使用for循环输出杨辉三角
杨辉三角由数字排列,可以把它看做一个数字表,其基本特征是两侧数值均为1,其他位置的数值是其正上方的数值与左上角的数值之和。
本实例通过数组来实现杨辉三角
public class YangHuiTriangle {
public static void main(String[] args) {
//创建一个二维数组
int[][] triangle = new int[8][];
//遍历二维数组的第一层
for (int i = 0; i < triangle.length; i++) {
//创建不规则的二维数组
triangle[i] = new int[i];
//遍历第二层数组
for (int j = 0; j < triangle[i].length; j++) {
//将两侧的数组元素设为1
if(i==0||j==0||j==triangle[i].length-1) {
triangle[i][j] = 1;
}else{
triangle[i][j] = triangle[i-1][j]+triangle[i-1][j-1];
}
//输出数组元素
System.out.print(triangle[i][j]+"\t");
}
System.out.println();
}
}
}
运行结果如下:
使用嵌套循环在控制台上输出九九乘法表
public class MultiplicationTable {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 1; j <= i; j++) {
//输出计算结果但是不换行
System.out.print(i+"*"+j+"="+i*j+"\t");
}
//在外层循环中实现换行
System.out.println();
}
}
}
运行结果如下:
for循环输出空心的菱形
public class Diamond {
public static void main(String[] args) {
printHollowRhombus(10);
}
private static void printHollowRhombus(int size) {
if (size % 2 == 0) {//计算菱形大小
size++;
}
for (int i = 0; i < size / 2 + 1; i++) {
for (int j = size / 2 + 1; j > i + 1; j--) {
System.out.print(" ");//输出左上角的空白
}
for (int j = 0; j < 2 * i + 1; j++) {
if (j == 0 || j == 2 * i) {
System.out.print("*");//输出菱形上半部边缘
} else {
System.out.print(" ");//输出菱形上半部空心
}
}
System.out.println("");
}
for (int i = size / 2 + 1; i < size; i++) {
for (int j = 0; j < i - size / 2; j++) {
System.out.print(" ");//输出菱形左下角空白
}
for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {
if (j == 0 || j == 2 * (size - i - 1)) {
System.out.print("*");//输出菱形下半部边缘
} else {
System.out.print(" ");//输出菱形下半部空心
}
}
System.out.println("");
}
}
}
运行结果如下: