如何获取跨度为.txt数据的数据

时间:2018-12-16 16:07:33

标签: java arrays string

我必须创建一种方法来计算.txt数据中具有最大跨度的整数的最大跨度。例如, 1、4、1 ,3、5、6的最大跨度为3,因为最大跨度在数字1之间。

4、1、3、2、4、5、4 的跨度为7。它从第一个数字到最后一个数字进行计数,该数字是最大生成范围内的数字4号 对不起,我的英语我希望你能理解我的意思。我开发了这段代码,但不知道如何初始化第二个数组。我尝试扫描出数组中的每个数字,然后在一秒钟内将跨度扩大。之后,我尝试对第二个Array排序并返回length-1以获取最大的跨度。

public int Spannbreite() {
    File g = new File("C:/Users/angd6/Downloads/spannbreite.txt");
    b = new int[10000];

    try {
        Scanner sc2 = new Scanner (g);
        max = 0;
    for(int i = 0; i <= b.length-1; i++) {
        b[i] = sc2.nextInt();

    }for (int k = 0; k <= b.length-1; k++) {
        for(int j = b.length -1; j == k; j--) {
            c = new int[1000];  
            c[k] = j;   
        if(max <= c[k]) {
            max = c[k];
        }
    }}
    sc2.close();
    }catch(FileNotFoundException e) {
        System.out.println("Datei nicht vorhanden");

    }return c[c.length-1];
}

1 个答案:

答案 0 :(得分:0)

  1. 您必须在for循环之前创建C数组,因为如果这样做,您每次都将覆盖信息。

  2. 在嵌套的for循环中,必须将实际数字与末尾的数字进行比较。条件应为if(b [k] .equals(j))。之后,您可以比较两个数字之间的距离,并在必要时更改最大值。

  3. 将最大值分配给C位置的数组。我的意思是说,在完成嵌套的for循环之后,将C [b] = max放进去,您可以知道哪个数字具有最大的宽跨度