我试图找到用户输入的单元格。我已经制作了像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 :(得分: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轴用数字计算,而你的变量名称使它听起来应该是相反的方式。我可能只是误读了你的要求,但我希望这可以帮助你!