携程第二道编程,java无法判断输入结束

我真是服了第二题的输入了,没有给定矩阵的N,java的Scanner使用hasNextInt()无法判断输入结束

最后用了定时器强行运行逻辑后退出,通过率83.3%

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        List<Integer> list = new ArrayList();
        Timer timer = new Timer();
        timer.schedule(new TimerTask() {
            public void run() {
                int n = (int) Math.sqrt(list.size());
                int[][] matrix = new int[n][n];
                for (int i = 0; i < list.size(); i++) {
                    matrix[i / n][i % n] = list.get(i);
                }
                new Main().new Rotate_Image().rotate(matrix);
                for (int i = 0; i < n; i++) {
                    for (int j = 0; j < n; j++) {
                        System.out.print(matrix[i][j] + " ");
                    }
                    System.out.println();
                }
                System.exit(0);
            }
        }, 2000);
        while (in.hasNextInt()) {
            list.add(in.nextInt());
        }
    }

各位dalao有没有更好的方法?
全部评论
N*N矩阵啊,直接nextLine第一行输入里面元素的个数不就是N了么
点赞 回复 分享
发布于 2018-03-29 20:41
很皮,完全考怎么调输入的数据。。。最后一题都没时间做
点赞 回复 分享
发布于 2018-03-30 10:19
我直接先输入一行,看这一行有多少个数,就知道n了 接下来再输入n-1行 但只通过83%
点赞 回复 分享
发布于 2018-03-29 20:44

相关推荐

07-18 15:02
门头沟学院 Java
刚打开网申页面就不想填了,还是不要为难自己了
poppinzhan...:多益老行业毒瘤了,碰到徐波这种恶心的烂人,去了也是受罪。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-15 17:17
听说过付费实习,没想到这么贵啊我去,要不我给你个腰子吧
哈哈哈,你是老六:这种公司一定要注意啊,不要随便签合同,只要签了后面钱可能回不来,而且你通过法律途径也弄不回
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务