gpt4 book ai didi

java - 我正在尝试逐行反转数组

转载 作者:搜寻专家 更新时间:2023-11-01 03:25:05 25 4
gpt4 key购买 nike

澄清一下,这是一项家庭作业。我只是在寻求建议,我不是在找人帮我做功课。

我已经完成了前半部分。它使用两个数组来打印星号设计(在本例中为字母“S”。效果很好。然后,我跳过两行并打印设计但翻转(因此每行都反转)。它似乎工作正常,但是当我运行该程序时,它打印出两个 S,而第二个没有反转。知道我做错了什么吗?

public class Design {
public static void main (String [] args) {
char [] array = new char [150];
for (int index = 0; index < array.length; index ++)
{
array [index] = '#';
}
int [] indexNumbers = {
0,1,2,3,4,5,6,7,8,9,10,20,30,40,50,
60,70,71,72,73,74,75,76,77,78,79,89,99,109,119,129,139,140,
141,142,143,144,145,146,147,148,149
};
for (int i = 0; i < indexNumbers.length; i++)
{
array [indexNumbers[i]] = ' ';
}
for (int index = 0; index < array.length; index ++)
{
if (index % 10 == 0 && index > 0)
System.out.println();
System.out.print (array[index]);
}

//Now, to reverse the letter

System.out.println();
System.out.println();

int lines = 5;
for (int i = 0; i< array.length; i++){
if (i >= lines)
lines += 10;
char temp = array [i];
array [i] = array [lines - i - 1];
array [lines - i - 1] = temp;
}
for (int index = 0; index < array.length; index ++)
{
if (index % 10 == 0 && index > 0)
System.out.println();
System.out.print (array[index]);
}
}
}

编辑:是的......设计在空格中,其他一切都是星号。

最佳答案

你的反转有点困惑....如果你在两个循环中做它会更容易。

for (int row = 0; row < (array.Length / 10); row++)
{
for (int col = 0; col < 5; col++)
{
int rowStart = row * 10;
int rowEnd = rowStart + 9;
char temp = array[rowStart + col];
array[rowStart + col] = array[rowEnd - col];
array[rowEnd - col] = temp;
}
}

关于java - 我正在尝试逐行反转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16156915/

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