黑马程序员技术交流社区

标题: 以下代码有什么问题?求解释 [打印本页]

作者: 夏一站    时间: 2013-6-6 20:12
标题: 以下代码有什么问题?求解释
本帖最后由 夏一站 于 2013-6-12 20:31 编辑

将一个数组逆序输出。
import java.util.*;
public class lianxi31
{public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
int a[] = new int[20];
System.out.println("请输入多个正整数(输入-1表示结束):");
int i=0,j;
do{
a=s.nextInt();
      i++;
}while (a[i-1]!=-1);

System.out.println("你输入的数组为:");
   for( j=0; j<i-1; j++) {
    System.out.print(a[j]+"   ");
}
   System.out.println("\n数组逆序输出为:");
   for( j=i-2; j>=0; j=j-1) {
    System.out.print(a[j]+"   ");
}
    }
   }

总是得不到理想的答案……有什么问题吗?





作者: Jomes    时间: 2013-6-6 20:23
本帖最后由 Jomes 于 2013-6-6 20:29 编辑

哈哈 ,你粗心了, 是a[ i ],而不是 a!!!!!
  1. import java.util.*;
  2. public class lianxi31
  3. {public static void main(String[] args)
  4. {
  5. Scanner s = new Scanner(System.in);
  6. int a[] = new int[20];
  7. System.out.println("请输入多个正整数(输入-1表示结束):");
  8. int i=0,j;
  9. do{
  10. a[i]=s.nextInt();//这个地方你写错了
  11.       i++;
  12. }while (a[i-1]!=-1);

  13. System.out.println("你输入的数组为:");
  14.    for( j=0; j<i-1; j++) {
  15.     System.out.print(a[j]+"   ");
  16. }
  17.    System.out.println("\n数组逆序输出为:");
  18.    for( j=i-2; j>=0; j=j-1) {
  19.     System.out.print(a[j]+"   ");
  20. }
  21.     }
  22.    }
复制代码

作者: 逝者轨迹    时间: 2013-6-6 21:19
int a[] = new int[20];
a=s.nextInt();貌似编译都不能通过
作者: 桉树    时间: 2013-6-6 21:29
除了
a = s.nextInt() ;
以外没发现错误了。
作者: a303466738    时间: 2013-6-6 22:36
a= s.nextInt();
这里你不可以直接赋值给,数组,需赋值给数组中的元素。
所以你可以这样写:
a[i] = s.nextInt();
作者: 黄辉    时间: 2013-6-7 02:28
a=s.nextInt();
a已经是一个数组了,数组的赋值应该是赋值给元素
a[x] x为0-a.length-1   
作者: 袁梦希    时间: 2013-6-12 18:58
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃
作者: 夏一站    时间: 2013-6-12 19:23
袁梦希 发表于 2013-6-12 18:58
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃 ...

版主你好,我早已在《已解决》板块发表,请查阅。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2