我正在以输入的相反顺序显示 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]);
}
}
我正在学习 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]);
}
}