阿123斌 2017-09-08 02:29 采纳率: 100%
浏览 634

书上的练习,为什么不一样?一直在第一位,而且小于数组里的值时报错

package shuzu;
import java.util.Scanner;
public class ngn {

public static void main(String[] args) {

    Scanner input=new Scanner(System.in);

    int[]stu=new int[]{12,23,45,56};


    int rise = stu.length; 

    // 下面开始为新元素找位置
            System.out.println("请输入新增成绩:");
            int num = input.nextInt(); 

            for (int r = 0; r < stu.length; r++) {
                if (num > stu[r]) { 
                    rise = r;
                    break;
                }
            }

            // 下面开始元素后移
            for (int p = stu.length - 1; p > rise; p--) {
                stu[p] = stu[p - 1]; // rise下标开始的元素后移一们位置
            }
            stu[rise] = num; // 在stu中插入数据
            System.out.println("插入成绩的下标是:" + rise);
            System.out.println("插入后的成绩信息是:");

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

}

  • 写回答

5条回答 默认 最新

  • 鼠晓 博客专家认证 2017-09-08 02:37
    关注

    int rise = stu.length; 这句话有问题啊,,初始给0比较好

    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作