求解
例如输入3, 那么打印结果为:
0
0-1
0-1-2
0-1-2-3
int len = 3
string str = "";
for (int i = 0 ;i<= len ;i++){
for (int j = 0 ;j <= i ; j++ ){
if(j == 0){
str = j;
}else{
str += "-"+j;
}
system.out.println("-");
}
}
我是用JS写的, 但本质是都一样主要是算法思想, 里面的关键字定义为java的就行了:
let 改为int, var改为string, console.log(result)是打印, 改为java里面的打印就行了
第一层循环是金字塔的每一层, 第二层循环是每层的内容
let n = 4
var str = ''
var result = ''
for (let i = 0; i <= n; i++) {
str = ''
for (let j = 0; j < i + 1; j++) {
if (j == 0) {
str = str + j
} else {
str = str + '-' + j
}
}
result = str + '\n'
console.log(result);
}
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
4 回答1.9k 阅读
使用lastStr记录上次打印的字符串,然后拼接本次循环的数字即可。