2017-12-18 14 views
-1

임의로 생성 된 정수로 채워진 표를 인쇄하는 프로그램을 작성 중입니다. 논리의 대부분은 비교적 간단하고 꽤 잘 작동합니다. 내가하고자하는 한 가지는 테이블에있는 모든 값의 최종 합계뿐만 아니라 각 열에 대한 합계 값을 더하고 인쇄하는 것입니다. 나는 대답을 찾으려 노력하고 있지만 주위를 둘러 보았지만 그걸 알아내는 데 운이 없었습니다. 여기열의 모든 값의 합계 찾기 [RNG]

rowNbr = 7; // ROW CONTROLS 
colNbr = 5; //COLUMN CONTROLS 

rpt01 = String.format("%0" + (colNbr-1) + "d", 0).replace("0",dash); //Redefine rpt01 
colBld = String.format("|---------------|%s\n",rpt01); //Redefine colBld 

String cnrTxt = "First Quarter"; 

System.out.printf(colBld); 
System.out.printf("|%-15s",cnrTxt); 

for(int i = 1; i < colNbr; i = i++){ //Open for loop (columns) 

String regTxt = "Region " + i++; 

System.out.printf("|%-10s",regTxt); 

} //End for 

System.out.printf("|\n"); 

//Initialize array 

int sales[] = new int[100]; 
    int idx = 0; 
for(int i = 1; i <= rowNbr-3; i++){ 

String prodTxt = "Product " + i; 

System.out.printf(colBld); 
System.out.printf("|%-15s|",prodTxt); 


for(int j = 0; j < colNbr-1; j++){ //Open for loop (columns 2) 

    sales[idx] = (int)(Math.random() * 16 + 1); 
    System.out.printf("%-10d|",sales[idx]); 
    idx++; 
} //End for 

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

} //End for 

int totalNbr = 0; //Placeholder zero 
int regNbr = 0; //Placeholder zero 

String totalTxt = "Final Total: "; 
String regTxt = "Region Totals"; 

System.out.printf(colBld); 
System.out.printf("|%-15s|%-10s|\n",regTxt,regNbr); 
System.out.printf(colBld); 
System.out.printf("|%s%s\n",totalTxt,totalNbr); 
System.out.printf(colBld); 

은 한 번 실행과 같은 코드가 현재 모습입니다 :

|---------------|----------|----------|----------|----------| 
|First Quarter |Region 1 |Region 2 |Region 3 |Region 4 | 
|---------------|----------|----------|----------|----------| 
|Product 1  |2   |10  |3   |1   | 
|---------------|----------|----------|----------|----------| 
|Product 2  |15  |15  |7   |16  | 
|---------------|----------|----------|----------|----------| 
|Product 3  |15  |13  |7   |9   | 
|---------------|----------|----------|----------|----------| 
|Product 4  |4   |14  |11  |11  | 
|---------------|----------|----------|----------|----------| 
|Region Totals |0   | 
|---------------|----------|----------|----------|----------| 
|Final total: 0 
|---------------|----------|----------|----------|----------| 

솔직히에도이 시작 할 생각이 없다. 어떤 도움을 주셔서 감사합니다! 이미 순차적으로 그 다음에 각각 검출 된 소자 영역의 개수 씩 배열 요소를 단계별와 합산하는 간단한 문제이다 순차 표시 영역을 나타내는 임의의 정수 값으로 판매 어레이를 채운 이후

답변

0

단계. 1 -

표시하고 영역의 수는 우리가 colNbr 가변 이하 1 (5에 포함 된 값으로부터 기지 수를 추적 할를 합계한다 지역의 실제 수를 결정 = 4 개의 영역이 표시됩니다).

우리는 선언이 아는 아직 이름 또 다른 정수 배열 regionTotals과 4의 길이를 줄 :

int[] regionTotals = new int[colNbr-1];

가 지금은 판매 배열 요소를 단계별로 적절한를 합산의 문제를 판매 배열 요소를 적절하게 영역 요소와 같이 :

,993,210

장소 위의 코드 직접 totalNbr 정수 변수의 선언 & 초기화 위 :

int totalNbr = 0; //Placeholder zero 

당신이 당신의 테이블에 regionTotals에게 배열 요소를 포맷하는 방법은 당신에게 달려 있지만, 배열의 인덱스 0에있는 요소는 영역 1에 대한 합계를 포함하므로 0을 기준으로합니다.