2012-03-27 98 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轴用数字计数,而你的变量名称听起来应该是相反的。我可能只是误解了你所要求的,但我希望这可以帮助你!