如何在表格中单独输出一个单元格?

时间:2012-03-27 05:27:55

标签: java

我试图找到用户输入的单元格。我已经制作了像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;
    }
}

1 个答案:

答案 0 :(得分: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,新值是newData。要从该输入获取数组的x和y值,我们只需将inputLocation中的字符视为整数,并减去“0”或“a”以从正确的索引开始。一个警告,我假设inputLocation的长度为2,数字不超过9(看起来它现在从0到9)。如果数字超过9,你应该对数字字母对的数字部分进行子串,并使用Integer.parseInt(String s)函数来获取xPos值(不要减去'0',因为数字已经从0开始。

此外,当您的字母正确计数时,看起来您的数字只会在每个位置列为零。此外,你有x轴用字母计数,y轴用数字计算,而你的变量名称使它听起来应该是相反的方式。我可能只是误读了你的要求,但我希望这可以帮助你!