我需要用3"来编写一些java用于"输出
的循环122333444455555
22333444455555
333444455555
444455555
55555
到目前为止我的代码:
public static void problemFour() {
for(int i = 5; i >= 1; i--) {
for(int a = 1; a <= i; a++) {
for(int b = 1; b <= a; b++) {
System.out.print(a);
}
}
System.out.println();
}
}
此输出
111112222333445
11111222233344
111112222333
111112222
11111
我已经改变了很多++的组合 - &#5;&#5;&#39; s,&#39; s&#39; s和1&#39; s。
我很困惑,如果有人能指出我正确的方向,那就太棒了。
答案 0 :(得分:5)
你在线的开始方式以及数字(此处字符)重复的次数上犯了错误。修复它:
for(int i = 1; i <= 5; i++) { // Each iteration for one line
for(int a = i; a <= 5; a++) { // starts with a for ith line
for(int b = 1; b <= a; b++) { // a times `a` digit
System.out.print(a);
}
}
System.out.println();
}
要简单您的问题,请先考虑打印此模式:
12345
2345
345
45
5
然后扩展它:在最里面的循环中,将重复的代码等于数字时间,使用:
for(int b = 1; b <= a; b++) { // a times `a` digit
System.out.print(a);
}
答案 1 :(得分:1)
我们可以使用数字1
仅打印一次,2
两次,3
三次等的观察结果。
firstValueInLine
保持行开始的数字;
number
是正在打印的数字;
counter
只是确保number
打印number
次
for (int firstValueInLine = 1; firstValueInLine <= 5; ++firstValueInLine) {
for (int number = firstValueInLine; number <= 5; ++number) {
for (int counter = 0; counter < number; ++counter) {
System.out.print(number);
}
}
System.out.println();
}
答案 2 :(得分:1)
您可以尝试以下操作。它会起作用。
// 1st version where I only blacklisted 8
var randomNumbers = [Int]()
for _ in 1...7 {
var number = Int(arc4random_uniform(8))+1
while randomNumbers.contains(number) || number == 8{
number = Int(arc4random_uniform(8))+1
}
randomNumbers.append(number)
}
print(randomNumbers)
// 2nd version where I created an array of blacklisted numbers
var randomNumbers = [Int]()
var blackList = [8, 5, 2, 7]
for _ in 1...3 {
var number = Int(arc4random_uniform(10))+1
while randomNumbers.contains(number) || blackList.contains(number){
number = Int(arc4random_uniform(10))+1
}
randomNumbers.append(number)
}
print(randomNumbers)
<强>输出:强>
public static void problemFour() {
for (int i = 1; i <= 5; i++) {
for (int a = i; a <= 5; a++) {
for (int b = 1; b <= a; b++) {
System.out.print(a);
}
}
System.out.println();
}
}
答案 3 :(得分:0)
这里是,使用第一个for循环获取行数,第二个for循环获取要打印的数字。第3个for循环打印所需数量的显示数字。 你所做的是相反的。所以让你的代码反转。
试试这个
public static void problemFour() {
for(int i = 1; i <= 5; i++) {
for(int a = i; a <= 5; a++) {
for(int b=0;b<a;b++){
System.out.print(a);
}
}
System.out.println();
}
}
答案 4 :(得分:0)
查看内联评论。
122333444455555
22333444455555
333444455555
444455555
55555
输出:
{{1}}