标签:length 数字 技术分享 最大 java out 代码 排列 思路
需求:
1. 打印1-100数字组成的直角三角形,不足位用 ‘- ‘补齐
2.使用不规则数组实现
技术考核:
1.数组,多维数组,不规则数组
2.自增自减运算符
3.for 多层循环与跳出
4.字符串
效果图:
思路:
1.使用不规则数组实现,可任意定义数字的最大值
2.使用多层嵌套循环
3.break 跳出语句
4.continue 继续语句
代码:
// 不规则数组打印1-100 的梯形 public static void print100Nums() { int[][] arr = new int[20][]; out : for (int i = 0; i < arr.length; i++) { arr[i] = new int[i + 1]; for (int j = 0; j < arr[i].length; j++) { if (i == 0 & j == 0) { arr[i][j] = (i + 1) * (j + 1); } else if (j == 0) { int lastIndex = arr[i - 1].length - 1; int lastValue = arr[i - 1][lastIndex]; arr[i][j] = lastValue + 1; } else { arr[i][j] = arr[i][j - 1] + 1; } if(arr[i][j]==100){ break out; } } } int firIndex = 0; int senIndex = 0; for(int i=0;i<arr.length;i++){ for(int j=0;j<arr[i].length;j++){ int value = arr[i][j]; int len = String.valueOf(value).length(); if(firIndex!=0 && senIndex != 0 && firIndex == i && senIndex < j){ System.out.print("-"+" "); continue; } if(len<2){ System.out.print(value+" "); } else { System.out.print(value+" "); } if(value == 100){ firIndex = i; senIndex = j; } } System.out.println(); if(firIndex!=0 && senIndex != 0 && firIndex == i){ break; } } }
另一种打印方式:
for(int [] x: arr){ for (int y : x){ System.out.print(y + " "); if(y==100){ return; } } System.out.println(); }
总结:
跳转语句
break 跳出
用法1:跳出循环;当循环嵌套时,跳出当前的循环;
用法2:跳出语句块。 用于循环嵌套时跳出外循环。
continue 继续
用法:虽然break可以跳出循环,但是有时候要停止一次循环剩余的部分,同时还要继续执行下次循环,这时候就需要continue
return 返回
用法:终止以下所有程序的执行
标签:length 数字 技术分享 最大 java out 代码 排列 思路
原文地址:http://www.cnblogs.com/xianlei/p/7879440.html