2015-10-16 45 views
-4

需要帮助解决这个问题,我该如何逐行读取这个文件,按成对计算每个差异并输出最大差异对呢?JAVA从文本文件中找出差异最大的一对

输入文本文件格式:

157 901 
715 322 
51 421 
85 128 
167 292 
6 45 
89 1787 
84 217 
560 128 
37 1320 
+0

你有没有写过任何Java代码?处理文本文件怎么样? –

+0

您可以使用'nextInt()'或类似文件从文件中读取每个数字。计算差异并与行+1进行比较。 – peter

+1

到目前为止您尝试过了什么?使用Filereader和扫描仪来读取每一行。将它们存储在变量,计算机差异中,将差异放在列表中并打印最大的一个。 – yogidilip

回答

2

所以这里的东西来帮助你

import java.util.Scanner; 

public class Compute 
{ 

public static void main(String[] args) 
{ 
    Scanner scan = new Scanner("C:/path to file"); 
    int biggest = 0, num1 = 0, num2 = 0, current1, current2; 
    while(scan.hasNextInt()) 
    { 
     current1 = scan.nextInt(); 
     current2 = scan.nextInt(); 
     if((Math.abs(current1-current2)) > biggest) //current1 - current2? or current2 - current1? You decide 
     { 
      biggest = Math.abs(current1-current2); //if you change that also change this 
      num1 = current1; 
      num2 = current2; 
     } 
    } 

    System.out.println("The pair with the biggest difference is: "+num1+" and "+num2+". Their difference is: "+biggest); 
    scan.close(); 
} 

} 
+0

非常感谢:) – Katherine