首页 > 京东8.27编程第二题 9%,求大佬分析。
头像
立志成为大牛的小妞
编辑于 2020-08-27 21:18
+ 关注

京东8.27编程第二题 9%,求大佬分析。

用的arraylist,究竟是哪里的错。
import java.util.ArrayList;
import java.util.Scanner;

/**
 * 单组输入。
 *
 * 第1行一个正整数m表示一共有m个操作。
 * 接下来m行表示m个操作,每行输入的第1个数字为op(操作类型)。
 * 如果op=1表示第(1)种操作,后面接着两个数字a和b分别表示在第a个位置插入b(a以及a以后的数字将后移)。
 * 如果op=2表示第(2)种操作,后面接着一个数字a,表示删除第a个数字。
 * 如果op=3表示第(3)种操作,查询当前数列的状态。
 * (m<=1000,输入操作保证合法。)
 * 输出描述
 * 对于每一个op=3,输出当前数列的状态(输出数列中每一个元素的值)。
 */

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int m = sc.nextInt();
        int op,insertLoc,insertNum,delLoc ;
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < m; i++) {
            op = sc.nextInt();
            if (op == 1){
                insertLoc = sc.nextInt();
                insertNum = sc.nextInt();
                insert(list,insertLoc,insertNum);
            }else if (op == 2){
                delLoc= sc.nextInt();
                delete(list,delLoc);
            }else if (op == 3){
                outPut(list);
            }
        }
    }
    private static void insert(ArrayList<Integer> list,int insertLoc,int insertNum){
        list.add(insertLoc-1,insertNum);
    }
    private static void delete(ArrayList<Integer> list,int delLoc){
        list.remove(delLoc-1);
    }
    private static void outPut(ArrayList<Integer> list){
        for (int i = 0; i < list.size()-1; i++) {
            System.out.print(list.get(i));
            System.out.print(" ");
        }
        System.out.print(list.get(list.size()-1));
        System.out.println();
    }

}


全部评论

(2) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐