我正在以输入的相反顺序显示 java 数组的内容,但只显示了一半的数组

I am displaying contents of a java array in reverse order of input, but only half the array is being displayed

我正在学习 Java 的基础课程,任务是创建一个程序,用户在该程序中将 10 个字符串输入数组,然后程序将它们反向显示给用户输入的顺序。

这是目前为止的相关代码

String []stringarray = new String[10];

public void add()
{
    System.out.println ("Enter 10 Strings :");
    for ( int i=0; i<10  ; i++ )
        stringarray[i] = Genio.getString(); 
}

public void display()
{
    for (int i=0; i<10/2; i++)
    {
        String tmp = stringarray[i];
        stringarray[i] = stringarray[10 - i - 1];
        stringarray[10 - i - 1] = tmp;
        System.out.println (stringarray[i]);
    }
}

所以当我输入 1 2 3 4 5 6 7 8 9 0 时,我应该收到 0 9 8 7 6 5 4 3 2 1 回来。

但是我只收到 0 9 8 7 6。我认为这可能与 for 行中的 "i<10/2;" 有关,但我不确定。

如果您只需要向后显示数组,则无需交换元素 - 只需从 9 (10-1) 向下循环到 0 并打印元素:

public void display()
{
    for (int i = stringarray.length - 1; i >= 0; i--)
    {
        System.out.println (stringarray[i]);
    }
}