【问题标题】:How to get the Span wide of a .txt data如何获取 .txt 数据的跨度范围
【发布时间】:2018-12-16 16:07:32
【问题描述】:

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

4, 1, 3, 2, 4, 5, 4 的跨度宽度为 7。它从第一个数字到最后一个数字的最大生成宽度在4号。 对不起我的英语,我希望你能明白我的意思。我开发了这段代码,但不知道如何初始化第二个数组。我尝试扫描出数组中的每个数字,然后在一秒钟内将跨度变宽。之后我尝试对第二个数组进行排序并返回 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];
}

【问题讨论】:

  • 你是怎么得到这个的? 4, 1, 3, 2, 4, 5, 4 has a span wide of 7
  • 从前4个到后4个。每次从第一个数到最后一个数。但只有跨度最大的数字。

标签: java arrays string


【解决方案1】:
  1. 您必须在 for 循环之前创建 C 数组,因为如果这样做,您每次都会覆盖信息。

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

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

【讨论】:

    猜你喜欢
    • 2018-08-01
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 2019-11-11
    • 1970-01-01
    • 2022-07-22
    相关资源
    最近更新 更多