gpt4 book ai didi

java - 更改二维数组中的多个元素

转载 作者:行者123 更新时间:2023-12-01 11:54:52 27 4
gpt4 key购买 nike

嗨,我是 Java 初学者,但不太擅长。但我必须创建一个战舰程序。方向说明用户必须输入长度为 2、3 和 4 的 3 艘不同战舰的左上角坐标和方向(水平和垂直)。因此,当用户输入他们想要的战舰位置的行和列时为了加入,我必须替换 7 x 7 数组中的元素(即“-”),并用“s”代替“ship”。但它必须在用户想要的位置进行更改,并且额外的空间取决于该船的长度

到目前为止我已经有了这个,但它不起作用。

System.out.println("What row would you like to place the 2 length ship?");
int row = scan.nextInt();
System.out.println("What column would you like to place the 2 length ship?");
int col = scan.nextInt();
System.out.println("Horizontally or vertically?");
String hv = scan.next();

char [] [] brdState = new char [7][7];
for (int r = 0; r < brdState.length; r++)
{
for ( int c = 0; c < brdState[r].length; c++)
{
brdState [r][c] = '-';
System.out.print(brdState[r][c] + "\t");
}
System.out.println();

if ( hv == "h" || hv == "H");
{
int rl = (row - 1);
for (int c = col; c < col; c++)
{
for ( int r = rl; r <= row; r++)
{
brdState[row][col] = 's';
System.out.print(brdState[r][col] + "\t");
brdState[r][c] = '-';
System.out.println(brdState[r][c] + "\t");

}

}
}

我需要代码来处理用户想要的长度为 2 的船舶的位置,然后处理其左侧(水平)或正上方(垂直)的一个元素。但我无法正确编程。

最佳答案

您需要更改此行:

if ( hv == "h" || hv == "H");

if ( hv.equalsIgnoreCase("H"))
^^^ ^

这意味着,if 末尾不需要分号,这会使其成为空语句,即无论是否满足条件,{} 之间的代码块将是始终执行。另外,在比较两个字符串时,您需要使用 equals 方法。

关于java - 更改二维数组中的多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28524013/

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