2012-03-27 3 views
1

지금까지 테이블을 탁월하게 보이도록 만드는 코드를 작성했습니다. 컴파일 할 때 문자를 입력 할 수는 있지만, 예를 들어 1a는 5와 같고 1a의 셀은 그 안에 5를 표시합니다. 이건 내 테이블이 지금까지 보이는 것입니다. 이 테이블 작성하려면 코드입니다 :테이블의 셀에 숫자를 입력하는 방법은 무엇입니까?

package table; 

public class Spreadsheat { 

    private int xVal = 137; 
    private int yVal = 1; 
    private int[][] table = new int [20][20]; 
    private char yaxis = 'A'; 
    private int xaxis = 0; 


    public Spreadsheat(){ 
     for(int i = 0; i < xVal; i++){ 
      System.out.print("-"); 
     } 

     System.out.println(); 
     System.out.print(" |"); 
     for(int i = 0; i < 17; i++){ 
      System.out.print("| " + yaxis + "\t" + "|"); 
      yaxis = (char) (yaxis + 1); 
     } 

     System.out.println(); 
     for(int i = 0; i < xVal; i++){ 
      System.out.print("-"); 
     } 

     System.out.println(); 
     for(int j = 0; j <10;j++){ 
      System.out.print(" " + xaxis + "|"); 
      for(int i = 0; i < 17; i++){ 
       System.out.print("|" + "\t" + "|"); 
      } 

      System.out.println(); 
      xaxis = xaxis + 1; 
     } 
    } 
    public void setxval(int xVal) { 
     this.xVal = xVal; 
    } 
    public int getxVal() { 
     return xVal; 
    } 
    public void setyVal(int yVal) { 
     this.yVal = yVal; 
    } 
    public int getyVal() { 
     return yVal; 
    } 
    public void setTable(int table[][]) { 
     this.table = table; 
    } 
    public int[][] gettable() { 
     return table; 
    } 
} 

을 그리고 이것은 내 클라이언트 프로그램입니다 :

package Client; 

import java.util.Scanner; 

import table.Spreadsheat; 

public class VisiCalc { 
    public static void main(String[] args){ 
     Scanner kb = new Scanner(System.in); 
     Spreadsheat table = new Spreadsheat(); 
     boolean end = false; 
     while(end == false){ 
      String input = kb.next(); 
      System.out.println(input); 
      if(input.contains("quit")){ 
       end = true; 
      } 
     } 

    } 

} 
+0

임의의 댓글 : 'ee'가 아닌'ea'가 포함 된 스프레드 시트 ... – Jon

+0

예. 정말 늦게까지했습니다. – user1294516

답변

2
  • 스프레드 시트가 table를 업데이트 할 수있는 방법이 필요합니다. 예를 들어, 스프레드 시트 클래스에서이 같은 방법이 필요합니다
 
public void setValue(int row, int col, int value) { 
    if (row >= 0 && row < 20 && col >=0 && col < 20) { 
     table[row][col] = value; 
    } 
} 
  • 당신은 당신이 table.setValue(...)를 호출 할 수 있도록 사용자의 키보드 입력을 변환하는 방법 방법이 필요합니다. 예를 들어, "2A = 8"을 입력하면 메서드는 해당 문자열을 x = 1, y = 0, v = 8로 구문 분석하고 table.setValue (x, y, v)를 호출해야합니다. 스프레드 시트 또는 클라이언트에서이 방법을 원할 경우 귀하에게 달려 있습니다.

  • 업데이트 된 콘텐츠가있는 화면에 표를 인쇄 할 수 있도록 스프레드 시트에 방법이 필요합니다. 열이 제대로 정렬되도록 내용을 형식화해야한다는 것을 알게 될 것입니다. 가장 쉬운 방법은 각 열을 고정 폭 (고정 폭)으로 설정하고 java.text.DecimalFormat을 사용하여 int를 String으로 변환하는 것입니다.

나는 이것이 시작이라고 생각한다.

관련 문제