刚刚开始学习Java。麻烦有人能帮看下我的代码错误在哪里了吗!

szpengzhenxing 2015-09-14 08:05:35
import java.util.Scanner;
public class Paixu {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int[] num = new int [6];
num[0] = 20;
num[1] = 15;
num[2] = 10;
num[3] = 5;
num[4] = 2;

System.out.print("输一个数:");
int nno = input.nextInt();
int index = -1;
for(int i = 0;i<num.length;i++){
if(nno>num[i]){
index = i;
break;
}
}num[index] = nno;
for(int i = num.length-1; i >index;i--){
num[i] = num[i-1];

}for(int i = 0; i <num.length;i++){
System.out.print(num[i]+"\t");
}


}


}

问题是把数字插入以后,找到位置,后面的数字相继调换位置,最终输出结果为降序,我这样做完以后能插入,但是输出效果少了一位数,麻烦大家能帮我下看么,最好能告诉我哪里错了,解释下,
万分感谢!
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 szpengzhenxing 的回复:
十分感谢! 目前感觉自己逻辑关系不是很清晰, 麻烦问下你知道有什么练习的方法吗
你按他说的试了吗骚年,他说的也不对啊
  • 打赏
  • 举报
回复
引用 1 楼 qq_31307253 的回复:
你把num[index] = nno;这段代码写到 for(int i = num.length-1; i >index;i--){ num[i] = num[i-1]; }下面就可以了
你这结果还是错的啊,跟他的效果不是一样的吗
szpengzhenxing 2015-09-15
  • 打赏
  • 举报
回复
十分感谢! 目前感觉自己逻辑关系不是很清晰, 麻烦问下你知道有什么练习的方法吗
raoyao1987 2015-09-15
  • 打赏
  • 举报
回复
for (int i = 0; i < num.length; i++) { if (nno > num[i]) { index = i; break; } } for (int i = num.length - 1; i > index; i--) { num[i] = num[i - 1]; } // 这行换到这里 num[index] = nno;
360编码 2015-09-14
  • 打赏
  • 举报
回复
你把num[index] = nno;这段代码写到 for(int i = num.length-1; i >index;i--){ num[i] = num[i-1]; }下面就可以了

50,452

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧