我在查找java赋值中的最后一个模式时遇到了麻烦。我知道我很接近,但我无法弄清楚这是我的代码:
public static void main(String[]args){
System.out.println("Pattern D:");
for (int i = 6; i>=1; i--) { // row
int x = 6; // Counter?
for (int j = 1; j<=i; j++){ //column
System.out.print("");
x--;
}
for(int k=1;k<=i;k++) {
System.out.print(x);
}
System.out.println();
}
}
据我所知,外部循环是行,内部是列,但这不是我错的部分。我自己的模式是正确的,但不是数字的输出。 我不能把我的输出放在这里因为它不能正确格式化。但是如果你完全复制我的代码而不是0行,那么1,那么,2 ......等等,我试图在顶线获得1 2 3 4 5 6,然后是1 2 3 4 5,下一行等等......
答案 0 :(得分:0)
你实际上非常接近正确的模式,你只是添加了太多。作为一般提示(并非总是,但大部分时间),在制作这些循环模式时,通常可以使用循环中的整数打印这些模式。我改变了你的代码,给你你想要的模式。你不需要x作为计数器,因为你可以使用你最深的嵌套循环的整数作为计数器,这在我如何调整你的代码是j,因为它将在第一次运行6次然后在第二次运行5次所以上。您添加的另一个额外部分是第3个嵌套循环。它基本上完成了与第二个循环完全相同的事情,因为它们都具有在小于i的情况下运行的条件。那么这里是代码;我希望我的解释有所帮助。
public static void main(String[]args){
System.out.println("Pattern D:");
for (int i = 6; i>=1; i--) { // row
for (int j = 1; j<=i; j++){ //column
System.out.print(j);
} System.out.println();
}
}
答案 1 :(得分:0)
这是您的期望代码:
import java.util.*;
public class Test{
public static void main(String[]args){
System.out.println("Pattern D:");
for(int i=6 ;i >= 1;i--){
int k=i;
for (int j=1 ;j<=k; j++){
System.out.print(j);
}
System.out.println();
}
}
}
答案 2 :(得分:0)
原来我说过我之前想做的事情错了。我想对这种模式进行辩护,但这是我的解决方案。抱歉有任何困惑。
for (i=6;i>0;i--) {
x=6;
for (j=i;j<6;j++) {
x--;
System.out.print(" ");
}
for(k=1;k<=i;k++) {
System.out.print(x--);
}
System.out.println(" ");
}
答案 3 :(得分:0)
public class TestPattern {
public static void main(String[] args) {
for (int i = 6; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
System.out.print(j);
}
System.out.println();
}
}
}
输出:
123456
12345
1234
123
12
1