java中如何从矩阵返回值

java中如何从矩阵返回值,java,Java,我正在阅读java中的matrx,在我的课程页面中发现了这个方法: public int getSeatStatus(int row, char ch) { // Returns the status of the seat (row, ch) return seats[row][(ch - ’A’)].getStatus(); } 我不明白这个方法是如何工作的。。正如你所看到的,ch不是一个索引,那么为什么他们使用它作为索引呢 我们能用另一种简单的方法重写这段代码吗? 例如,我试图这样重写

我正在阅读java中的matrx,在我的课程页面中发现了这个方法:

public int getSeatStatus(int row, char ch) { // Returns the status of the seat (row, ch)
return seats[row][(ch - ’A’)].getStatus();
 }
我不明白这个方法是如何工作的。。正如你所看到的,ch不是一个索引,那么为什么他们使用它作为索引呢

我们能用另一种简单的方法重写这段代码吗? 例如,我试图这样重写它:

public int getSeatStatus(int row, char ch){
    int col = 0;
    if (ch == 'A') {
        col=0;
    } else if (ch == 'B') {
        col=1;
    }
    return s[row][col].getStatus();

}
我做得对吗?
谢谢

我不会那样做的。。。如果你有两个“ch”对象,它可以用If语句管理,但是如果你有一个100呢?这将意味着大量的if语句无法维护

如果将字符“A”强制转换为int,则值为65。通过做
ch-'A'
您得到65-65,与索引0对应。 如果将字符“B”强制转换为int,则值为66。通过执行
ch-'A'
可以得到66-65与1对应


事实上,你的第一个例子是一个更好的方法,而且会起作用,即使座位从a到Z都是“编号”的。

我不会那样做。。。如果你有两个“ch”对象,它可以用If语句管理,但是如果你有一个100呢?这将意味着大量的if语句无法维护

如果将字符“A”强制转换为int,则值为65。通过做
ch-'A'
您得到65-65,与索引0对应。 如果将字符“B”强制转换为int,则值为66。通过执行
ch-'A'
可以得到66-65与1对应


事实上,您的第一个示例是一种更好的方法,即使座位从a到Z都“编号”,也会起作用。

您可以将字符转换为整数。因此,您也可以将其用作索引。
例如,
System.out.println(0+'A')
的输出为65。

您可以将字符转换为整数。因此,您也可以将其用作索引。
例如,
System.out.println(0+'A')
的输出为65。

根据ASCII标准,字母
A
的整数值为
65
,字母
Z
的整数值为
90

因此,如果从给定参数的值中减去
A
,则得到一个值:

('B' - 'A') = (66 - 65) = 1
('F' - 'A') = (70 - 65) = 5

如果你想重写整个字母表的规则,你必须写26个循环代码。

根据ASCII标准,字母
A
的整数值为
65
,字母
Z
的整数值为
90

因此,如果从给定参数的值中减去
A
,则得到一个值:

('B' - 'A') = (66 - 65) = 1
('F' - 'A') = (70 - 65) = 5

如果要重写整个字母表的规则,必须编写26个循环代码。

在Java中,
char
是数字类型。当您执行
char-'A'
时,您可以使用。在
'A'-'A'
的情况下,结果是0,而
'B'-'A'
的结果是1,以此类推。它给出数组索引。

在Java中,
char
是数字类型。当您执行
char-'A'
时,您可以使用。在
'A'-'A'
的情况下,结果是0,而
'B'-'A'
的结果是1,等等。它给出数组索引。

像您这样重写它是非常不必要的,因为
'A'-'A'=0
。请注意,您可以轻松地将
字符
强制转换为
int
。因为
'A'-'A'=0
,所以像这样重写它是非常不必要的。请注意,您可以轻松地将
char
转换为
int