2017-02-21 2 views
0

은 1부터 10까지의 홀수를 출력하고 싶지만 3 번째 줄마다 새 줄을 만듭니다. 어떻게 당신이 자바 콘솔에서 각 줄에 인쇄 할 수있는 항목의 수를 제어 하시겠습니까. 자바의 세 번째 정수마다 새 줄을 인쇄하십시오.

여기

public static void main(String[] args) 
{ 
    Scanner input = new Scanner(System.in); 


    int z,t; 
    System.out.println("Enter two numbers: "); 
    z = input.nextInt(); 
    t = input.nextInt(); 

    humbala(z,t); 

} 

public static void humbala (int x, int y) 
{ 

    for(int a; x < y; x++) 
    { 
     if(x % 2 !=0) 
     { 
      System.out.print(x+ " "); 

      for (int i=0; i<y; i++) 
      { 
       if(i > 3) 
       { 
       System.out.println(); 
       } 
       i = 0; 

      } 



     } 

    } 

} 

은} 루프 조금 이상한 내 지금까지 내 코드입니다. 나는 카운터 변수를 가지고 있지만 실제로 사용하지는 않았지만 어쨌든 작동합니다. 문제는, 내가 x를 넣으면, 그것이 중복이라는 오류가 발생합니다. 저는 배열을 만들어야한다고 생각합니다. 그냥 모든 인쇄하려면 그 모든 3 인덱스, 그래서, 나는 새로운 라인 을 인쇄 할 수 있지만 여러 if 조건 for 루프에서 사용되지 않는 variable 필요하지 않습니다

+0

예상 출력은 무엇을하려고? –

+0

내부 for 루프에 무한 루프가없는 이유는 무엇입니까? 게시 한 코드를 업데이트해야합니까? – mmcrae

답변

0

코딩을 변환 할 수 없습니다 숫자와 그것이하는 counter 함께 할 수있는 모든 3 개 개의 숫자 후 새 줄을 인쇄 예 :

public static void main(String[] args) throws IOException { 
    try(Scanner input = new Scanner(System.in);){ 
     int z, t; 
     System.out.println("Enter two numbers: "); 
     z = input.nextInt(); 
     t = input.nextInt(); 
     humbala(z, t); 
    } 
} 

public static void humbala(int x, int y) { 
    int counter = 0; 
    for (int i = x; i <= y; i++) { 
     if(counter++ % 3 == 0){ 
      System.out.println(); 
     } 
     System.out.println(i); 
    } 
} 
0

당신은 같은 라인의 참고의 항목을 인쇄하려면이 같은 뭔가를 할 수 Java8를 사용하는 경우 대신에 ArrayList를 사용할 수는 있지만 그들에 대해 알게되었는지 확실하지 않습니다.

import java.util.Arrays; 
import java.util.Scanner; 

class Main { 
    public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    System.out.print("Enter start number: "); 
    int start = input.nextInt(); 
    System.out.print("Enter end number: "); 
    int end = input.nextInt(); 
    humbala(start, end); 
    } 

    public static void humbala(int start, int end) { 
    int count = 0; 
    String[] numbersLine = new String[3]; 
    for (int i = start; i <= end; i++) { 
     if(count != 0 && count % 3 == 0) { 
     System.out.println(String.join(" ", numbersLine)); 
     Arrays.fill(numbersLine, ""); //for last line 
     } 
     numbersLine[count % 3] = String.valueOf(i); 
     count++; 
    } 
    System.out.println(String.join(" ", numbersLine)); //print any remaining numbers 
    } 
} 

사용 예제 :

Enter start number: 1 
Enter end number: 10 
1 2 3 
4 5 6 
7 8 9 
10 

이 그것을 here!