Java 为什么打印以下0和1模式的代码不起作用?

Java 为什么打印以下0和1模式的代码不起作用?,java,Java,这是我的代码,但我总是在(I%2!=0)部分打印不需要的1。这与数字系统无关,只是一种打印模式 0 10 010 1010 01010 101010 0101010 公共课操场{ 公共静态void main(字符串[]args){ for(int i=1;ifor(int i=0;i=0;j--){

这是我的代码,但我总是在(I%2!=0)部分打印不需要的1。这与数字系统无关,只是一种打印模式

0                   
10                      
010             
1010                    
01010           
101010              
0101010
公共课操场{
公共静态void main(字符串[]args){
for(int i=1;i
for(int i=0;i<7;i++){
对于(int j=i;j>=0;j--){
系统输出打印(j%2);
}
System.out.println();
}
或者您可以这样做(由@mitchtalmage建议):

字符串输出=”;
对于(int i=0;i<7;i++){
输出=(i%2)+输出;
系统输出打印项次(输出);
}

您也可以将if替换为System.out.print(j%2)是的,在他的情况下这样做会更好。编辑我的帖子。谢谢@that otherguy有更好的方法来做这件事。但是我不能发布,因为问题被搁置了。@Mitchtalmage你知道你现在不能发布,相信我,这篇帖子将被搁置。但是我很好奇,你认为做这件事的更好方法是什么uld be@afzalex这是我的方法:它是否“更好”需要测试,但我觉得这个方法更容易理解。
public class Playground  {
 public static void main(String[] args) {
    for (int i = 1; i <= 7; i++) {
        for (int j = 1; j <= i; j+=2) {
            if (i % 2 != 0) {
                System.out.print(0);
                System.out.print(1);
            }
        }
        for (int j = 1; j <= i; j+=2) {
            if (i % 2 == 0) {
                System.out.print(1);
                System.out.print(0);
            }
        }
        System.out.println();

    }
  }

}
for (int i = 0; i < 7; i++) {
    for (int j = i; j >= 0; j--) {
        System.out.print(j % 2);
    }
    System.out.println();
}
String output = "";
for (int i = 0; i < 7; i++) {
    output = (i % 2) + output;
    System.out.println(output);
}