2013-09-29 2 views
1

0-99에서 값을 인쇄하고 음식 배열에서 임의의 문자열입니다. 테이블에 제대로 출력 할 수없는 것 같습니다.초보자 자바 - 테이블을 인쇄

String foods[] = {"Bread", "Pizza", "Cheese"}; 
for (int x = 0; x<=99; x++) { 
     for (int i = 0; i<4; i++) { 
      int random = (int) (Math.random() * 3); 
      System.out.print(x + " - " + foods[random] + "\t\t"); 
     } 
    System.out.println(); 
} 

실제 출력 :

예상 출력

0 - Pizza  0 - Bread  0 - Cheese 0 - Bread 
1 - Bread  1 - Pizza  1 - Bread  1 - Pizza 
.... until 99 
:이 일을 할 것입니다

0 - Pizza  1 - Bread  2 - Cheese 3 - Bread 
4 - Bread  5 - Pizza  6 - Bread  7 - Pizza 
.... until 99 
+2

를 시도? – Rogue

+0

다른 메모 : 모든 코드에서 일관성을 유지하십시오. 이 경우 for 문 내부에서 항상 '<'또는 '<='을 사용하지만이를 혼합하지 않아도 나중에 더 복잡한 코드를 작성할 때 가독성을 향상시켜줍니다. –

답변

1

문제는 경우에만 후 X를 증가하는 것입니다 실행을위한 내부 및 전체 줄 인쇄.

String foods[] = {"Bread", "Pizza", "Cheese"}; 
    for (int x = 0; x <= 99;) { 
     for (int i = 0; i < 4; i++) { 
      int random = (int) (Math.random() * 3); 
      System.out.print(x + " - " + foods[random] + "\t\t"); 
      x++; 
     } 
     System.out.println(); 
    } 

내부에서 x를 증가시켜야합니다.

1

:

String foods[] = {"Bread", "Pizza", "Cheese"}; 
    for (int x = 1; x<=100; x++) { 

       int random = (int) (Math.random() * 3); 
       System.out.print((x-1) + " - " + foods[random] + "\t\t"); 
       if(x%4==0) 
        System.out.println(); 


    } 
0

당신이 다음 찾고있는 출력 될 것입니다 무엇 코드

import java.io.*; 
class dev 
{ 
public static void main (String[] args) 
{ 
    String foods[] = {"Bread", "Pizza", "Cheese"}; 
     for (int x = 0; x<=99; x++) 
      { 
      System.out.print(x + " -" + foods[ (int) (Math.random() * 3)] + " \t\t"); 
       if(x%4==0) System.out.println(); 
      } 
}} 
+1

-1 다른 누군가의 값싼 사본 만 대답합니다. –