在reverse.- java中打印数组元素时出错

时间:2017-01-09 11:07:51

标签: java arrays

任何人都可以在程序中找到错误。 我希望以相反的方式打印数组的元素,因为我在执行程序后遇到错误,任何人都可以帮助我。?

int i,n;
Scanner in=new Scanner(System.in);
System.out.print("Enter range- ");
n=in.nextInt();
int ar[] = new int[n];
for(i=0;i<=n;i++)
{
   i=in.nextInt();
   ar[i]=in.nextInt();
}
for(i=n-1;i>0;i--)
{
  System.out.print("Enter elements" +ar[i]);
}

2 个答案:

答案 0 :(得分:1)

i是您的循环变量,不要在循环中修改i(使用用户输入)。此外,数组从0开始(不是1)。所以,

for(i=0;i<n;i++)
{
   // i=in.nextInt();
   ar[i]=in.nextInt();
}
System.out.println("Entered elements");
for(i=n-1;i>=0;i--)
{
  System.out.print(ar[i] + " ");
}
System.out.println();

答案 1 :(得分:0)

你的程序中有一些错误:

首先,您不必在程序开始时仅在for循环中声明i

第二,你在for循环i=in.nextInt();的每次迭代中为用户输入分配i <= n

并且你放入for循环i > 0;它会为数组分配超过所需大小的额外元素。

同样在for循环中,以相反的顺序打印数组的值,它不会打印数组的第一个索引值,因为你放了条件int n; Scanner in=new Scanner(System.in); System.out.print("Enter range- "); n=in.nextInt(); int ar[] = new int[n]; for(int i=0;i<n;i++) { ar[i]=in.nextInt(); } for(int i=n-1;i>=0;i--) { System.out.print("Enter elements" +ar[i]); }

angular-ui-tinymce