java的Scanner对象获取一个很长的数组
大家讲道理
大家讲道理 2017-04-17 17:27:41
0
1
342

我在做去年网易的笔试题,http://www.nowcoder.com/test/970447/summary
里面的第一题,小易大怪兽的那道,我用scanner对象来获取输入,他的测试用例是个3000多的数组,但是每次scanner获取到1902个元素之后就阻塞了,不知道是怎么回事。
代码如下:


import java.util.Scanner;

/**
 * Created by kbyyd on 2016/3/21.
 */
public class main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        XiaoYi xiaoyi = new XiaoYi(scanner.nextInt());
        for (int i = 0; i < n; i++) {
            xiaoyi.addAbility(scanner.nextInt());
        }
        scanner.close();
        System.out.println(xiaoyi.getAbility());
    }
}

class XiaoYi {
    private int ability;

    XiaoYi(int ability) {
        this.ability = ability;
    }

    public void addAbility(int b) {
        if (ability >= b) ability += b;
        else ability += getpisor(b);
    }

    public int getAbility() {
        return this.ability;
    }

    private int getpisor(int b) {
        if (b < ability) return 0;
        int a = ability;
        int s = -1;
        do {
            s = b % a;
            b = a;
            a = s;
        } while (s != 0);
        return b;
    }
}
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!