java 自定义数组。提示用户输入5个字符串。通过循环语句实现。然后反向输出这5个字符串。 我那里错了?

importjava.util.Scanner;;publicclassShuZu{/***@paramargs*/publicstaticvoidmain(String... import java.util.Scanner;;
public class ShuZu {

/**
* @param args
*/
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("输入5个字符");
String[]num;
num=new String[5];
for(int i=0;i<=num.length;i++){
num[i]=reader.next();

}
for(int i=5;i>=0;i--){
System.out.print(num[i]);
}
}

}
展开
 我来答
倾城不及你笑颜Ee
2012-04-24 · 超过11用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:26.7万
展开全部
import java.util.Scanner;;
public class ShuZu {

/**
* @param args
*/
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);
System.out.println("输入5个字符");
String[]num;
num=new String[5];
for(int i=0;i<num.length;i++){
num[i]=reader.next();

}
for(int i=4;i>=0;i--){
System.out.println(num[i]);
}
}

}
你的数组越界了5个数组,数组下标最大为4,而数组的属性值length是等于5;那么循环实际上是从0到5所以越界了,输出也一样
随风飘动_t
2012-04-24
知道答主
回答量:41
采纳率:0%
帮助的人:19.2万
展开全部
Scanner reader=new Scanner(System.in);
System.out.println("输入5个字符");
String[]num;
num=new String[5];
for(int i=0;i<num.length;i++){
num[i]=reader.next();
}
for(int i=num.length-1;i>=0;i--){
System.out.println(num[i]);
}
可以运行 读取的 下标 第一次 for 循环你读了六次 num[5] 越界了 ,还有下面 的同理
用println 换行输出 满足你需求吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jun910614
2012-04-24
知道答主
回答量:63
采纳率:0%
帮助的人:41.2万
展开全部
数组越界,你初始化数组大小是5,后面for循环从0到5加了6次改为
for(int i=0;i<num.length;i++){
num[i]=reader.next();

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钱途财子
2012-04-24
知道答主
回答量:22
采纳率:0%
帮助的人:11万
展开全部
可以把也控制台输入的字符串用StringBuffer接收,他有个方法reverse()是将字符串倒序输出的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式