如何在输出中获得101三角形?

时间:2013-12-13 05:09:27

标签: java

通过制作一些逻辑代码,无法弄清楚如何以所需形式获得01三角形的输出,三角形打印出来但不是根据要求输出。

 import java.util.Scanner;
 import java.io.*;

 public class triangle10{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a number ");
        int num =input.nextInt();
         while(num > 0){

                 for(int j=1;j<=num;j++){

                 System.out.print(num);

                }

                System.out.print("\n");

                num--;

         }

    }

     }
    ==================================================================
    if the user gives input as 6

    the out put should be :
      111111    
      00000
      1111
      000
      11
      0

4 个答案:

答案 0 :(得分:2)

而不是

for(int j=1;j<=num;j++){
     System.out.print(num);
}

我认为您需要打印10(根据您的示例)。因此,您应该计算num是偶数还是奇数,并决定是打印0还是1。例如

for(int j=1;j<=num;j++){
     System.out.print(1 - num%2);
}

因为num%2 = 0当num是偶数,而1是奇数 - 而且似乎你想要相反。所以1 - num%2应该能满足您的需求。

在:

Enter a number 
6
666666
55555
4444
333
22
1

后:

Enter a number 
6
111111
00000
1111
000
11
0

答案 1 :(得分:1)

您正在打印num。相反,您应该根据num打印出1或0。

试试这个:

 while(num > 0){
                 for(int j=1;j<=num;j++){                    
                    int digit = (num + 1) % 2 ;                      
                    System.out.print(digit);
                }
                System.out.print("\n");
                num--;
         }

答案 2 :(得分:1)

改变你的代码:

boolean flag = false;
         while(num > 0){
                 flag = !flag;
                 for(int j=1;j<=num;j++){
                 if(flag==true)
                 System.out.print("1");
                 else
                     System.out.print("0");

                }

                System.out.print("\n");

                num--;

         }

答案 3 :(得分:1)

你只需做一个小改动

  for(int j=1;j<=num;j++){

             System.out.print(num);

            }

  for (int j = 1; j <= num; j++) {

            System.out.print((num-1)%2);

        }

然后你会得到预期的结果:

例如输入6:

Enter a number 
6
111111
00000
1111
000
11
0