2012-03-27 112 views
2

我試圖能夠找到用戶輸入的單元格。我製作的表格就像excel,我想知道如何找到用戶輸入的單元格。例如,如果用戶輸入1a,我會通過我的表讀取並找到1a。這就是我需要幫助。我需要知道如何做到這一點,因爲後來我需要知道如何將數字輸入到單個單元格中,例如1a = 7我將轉到1a單元格並在該單元格中打印出7個。如何在表格中單元格單元格?

這是我至今代碼: 公共類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; 
    } 
} 

回答

0

爲了解釋起見,我將承擔呼叫更改電子表格是通過這樣的方法:

public void changeSheet (String inputLocation, int newData) 
{ 
    int xPos = inputLocation.charAt(0) - '0'; 
    int yPos = inputLocation.charAt(1) - 'a'; 
    table[xPos][yPos] = newData; 
} 

的用戶輸入是inputLocation,新值是newDat一個。爲了從該輸入中獲得數組的x和y值,我們只需將inputLocation中的字符像int整理一樣,然後減去'0'或'a'以在正確的索引中開始。一個告誡,我假設inputLocation長度爲兩個,數字不超過九(它看起來像它目前從0-9)。如果該數字超過9,則應該將數字字母對的數字部分劃分出來,並使用Integer.parseInt(String s)函數來獲取xPos值(然後,不要減去'0',因爲該數字已經存在從0開始)。

此外,雖然你的字母正確計數,但它看起來像你的數字只是列出每個位置爲零。另外,你的X軸用字母計數,Y軸用數字計數,而你的變量名稱聽起來應該是相反的。我可能只是誤解了你所要求的,但我希望這可以幫助你!