标签: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