A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夏一站 中级黑马   /  2013-6-6 20:12  /  1774 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 夏一站 于 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]+"   ");
}
    }
   }

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




评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 神马都是浮云

查看全部评分

9 个回复

倒序浏览
本帖最后由 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.    }
复制代码

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1

查看全部评分

回复 使用道具 举报
int a[] = new int[20];
a=s.nextInt();貌似编译都不能通过
回复 使用道具 举报
除了
a = s.nextInt() ;
以外没发现错误了。
回复 使用道具 举报
a= s.nextInt();
这里你不可以直接赋值给,数组,需赋值给数组中的元素。
所以你可以这样写:
a[i] = s.nextInt();

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 鼓励下

查看全部评分

回复 使用道具 举报
a=s.nextInt();
a已经是一个数组了,数组的赋值应该是赋值给元素
a[x] x为0-a.length-1   

评分

参与人数 1技术分 +1 收起 理由
曹睿翔 + 1 鼓励下

查看全部评分

回复 使用道具 举报
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃
回复 使用道具 举报
袁梦希 发表于 2013-6-12 18:58
楼主你好  如果问题已经解决  请把帖子的类型改为已解决  然后会给你发几个粽子吃 ...

版主你好,我早已在《已解决》板块发表,请查阅。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马