我必须创建一种方法来计算.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];
}
答案 0 :(得分:0)
您必须在for循环之前创建C数组,因为如果这样做,您每次都将覆盖信息。
在嵌套的for循环中,必须将实际数字与末尾的数字进行比较。条件应为if(b [k] .equals(j))。之后,您可以比较两个数字之间的距离,并在必要时更改最大值。
将最大值分配给C位置的数组。我的意思是说,在完成嵌套的for循环之后,将C [b] = max放进去,您可以知道哪个数字具有最大的宽跨度