java的数组逆序问题

importjava.util.Scanner;publicclassaaaaaa{/***@paramargs*/publicstaticvoidmain(String... import java.util.Scanner;

public class aaaaaa {

/**
* @param args
*/
public static void main(String[] args) {

Scanner input = new Scanner(System.in);
String[] talk=new String[]{"在Java","数据类型分类","一类是基本数据类型"
,"二类是引用数据类型","要理解这两类数据类型飞区别"};
System.out.println("请输入5句话");
for(int i=0; i<talk.length; i++) {
System.out.println("第一句话:"+talk[0]);
System.out.println("第二句话:"+talk[1]);
System.out.println("第三句话:"+talk[2]);
System.out.println("第四句话:"+talk[3]);
System.out.println("第五句话:"+talk[4]);
talk[i] = input.next();
}
//Arrays.sort(talk);

System.out.println("逆序输出5句话:");
for(int i=talk.length-1; i>=5; i--) {
System.out.println("talk[5]");
System.out.println("talk[3]");
System.out.println("talk[2]");
System.out.println("talk[1]");
System.out.println("talk[0]");
talk[i] = input.next();

}

}

}
错哪了?
展开
 我来答
r1renhw
2012-03-30 · TA获得超过1577个赞
知道小有建树答主
回答量:810
采纳率:100%
帮助的人:418万
展开全部
我改了下,下面有输出结果,不知道是不是你想要的,
不是的话,这个例子就当是给你的参考吧,呵呵

import java.util.Scanner;

public class aaaaaa
{

public static void main(String[] args)
{

Scanner input = new Scanner(System.in);
String[] talk=new String[]
{"在Java",
"数据类型分类","一类是基本数据类型",
"二类是引用数据类型",
"要理解这两类数据类型飞区别"
};
System.out.println("请输入5句话");
for(int i=0; i<talk.length; i++)
{
System.out.println("第一句话:"+talk[0]);
System.out.println("第二句话:"+talk[1]);
System.out.println("第三句话:"+talk[2]);
System.out.println("第四句话:"+talk[3]);
System.out.println("第五句话:"+talk[4]);
System.out.println("第"+(i+1)+"句话:");
talk[i] = input.next();
}

System.out.println("逆序输出5句话:");
for(int i=talk.length-1; i>=0; i--)
{
System.out.println(talk[i]);
}

}

}

输出结果是
/*
----------------------------------------
请输入5句话
第一句话:在Java
第二句话:数据类型分类
第三句话:一类是基本数据类型
第四句话:二类是引用数据类型
第五句话:要理解这两类数据类型飞区别
请输入第1句话:
a
第一句话:a
第二句话:数据类型分类
第三句话:一类是基本数据类型
第四句话:二类是引用数据类型
第五句话:要理解这两类数据类型飞区别
请输入第2句话:
b
第一句话:a
第二句话:b
第三句话:一类是基本数据类型
第四句话:二类是引用数据类型
第五句话:要理解这两类数据类型飞区别
请输入第3句话:
c
第一句话:a
第二句话:b
第三句话:c
第四句话:二类是引用数据类型
第五句话:要理解这两类数据类型飞区别
请输入第4句话:
d
第一句话:a
第二句话:b
第三句话:c
第四句话:d
第五句话:要理解这两类数据类型飞区别
请输入第5句话:
e
逆序输出5句话:
e
d
c
b
a
----------------------------------------------------
*/
错永伊I
2012-03-30 · TA获得超过5543个赞
知道小有建树答主
回答量:1036
采纳率:71%
帮助的人:251万
展开全部
错误在于后面的循环中的判断条件,i的初始值为4,而循环条件却是i>=5,所以执行的时候根本不会进入这个循环。改为:
for(int i=talk.length-1; i>=0; i--) {
System.out.println(talk[i]);
}
就行了。
追问
还是没有逆序输出啊?
追答
你运行过了么?我在本机运行的结果就是逆序输出的啊
输入的时候是talk[0]--talk[4],输出的时候就是talk[4]--talk[0]了……
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
过璞Va
2012-03-30 · TA获得超过1967个赞
知道小有建树答主
回答量:328
采纳率:100%
帮助的人:302万
展开全部
去掉这句
System.out.println("talk[5]");
你数组总共5个内容,你这是要打印第6个,不挂才怪
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
幻影SvG
2012-03-31
知道答主
回答量:5
采纳率:0%
帮助的人:7474
展开全部
import java.util.*;
public class CalendarTest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Calendar c=Calendar.getInstance();
System.out.print("今天的日期是: ");
int y = c.get(c.YEAR);
int m = c.get(c.MONTH)+1;
int d = c.get(c.DAY_OF_MONTH);
System.out.println(y + "_" + m + "_" + d);

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式