2013-12-13 4 views
0

몇 가지 논리적 코드를 작성하여 삼각형이 출력되지만 요구 출력에 따라 출력되지 않는 원하는 형식으로 01 삼각형의 출력을 얻는 방법을 알아낼 수 없습니다. 대신출력에서 ​​101 삼각형을 얻는 방법은 무엇입니까?

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

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 
+0

가, 밖으로는 00000 또는 11111에서 시작해야을? – anon

답변

2

난 당신이 인쇄 할 필요가 있다고 생각 중 하나 1 또는 0 (귀하의 예에 따라). 따라서 num이 짝수 또는 홀수인지 여부를 계산하고 0 또는 1을 인쇄할지 여부를 결정해야합니다.

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

납입도 때 num%2 = 0 때문에, 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

당신은 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--; 
     } 
+0

주어진 예에 따라 솔루션이 거꾸로 된 점을 제외하고는. 내 대답을 보라. – Floris

+1

나는 편집을했다. 고맙습니다 Floris :) – Nishan

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--; 

     } 
1

을 그냥

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

      System.out.print(num); 

      } 

에서 작은 변화를

을해야 6,

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

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

     } 

그리고 당신은 예상 된 결과를 얻을 것이다 :

예를 들어 6을 입력 받아 : 입력 번호가 5 인 경우

Enter a number 
6 
111111 
00000 
1111 
000 
11 
0 
관련 문제