gpt4 book ai didi

java - 如何修复返回 int 的方法中的 int 初始化问题

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:55 26 4
gpt4 key购买 nike

Java 说我的返回值 int 未初始化。

public static int getRow(char r)
{
int row;
if (r == 0)
row = 0;
if (r == 1)
row = 1;
if (r == 2)
row = 2;
if (r == 3)
row = 3;
if (r == 4)
row = 4;
if (r == 5)
row = 5;
if (r == 6)
row = 6;
if (r == 7)
row = 7;
if (r == 8)
row = 8;
if (r == 9)
row = 9; //end if
return row;
}

返回行出现错误,表示 int row 尚未初始化。此方法是将 char 的值转换为 int,以便将其放入数组中以创建网格游戏。当我将 row 初始化为 0 时,它不会命中任何 if 语句并将值保持为零。该游戏是战舰游戏,因此值验证为 0-9

最佳答案

如果r不在0到9范围内怎么办?然后将返回未初始化的row!这就是为什么您被迫初始化

使用默认值初始化row,或放置else block 。

我不确定,但您在寻找 Character#getNumericValue 吗? Read more .

所以你可以轻松做到这一点:

public static int getRow(char r) {
return Character.getNumericValue(r);
}

但是要小心

If the character does not have a numeric value, then -1 is returned. If the character has a numeric value that cannot be represented as a nonnegative integer (for example, a fractional value), then -2 is returned.

Test live.

关于java - 如何修复返回 int 的方法中的 int 初始化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31795709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com