2016-10-10 59 views
-3

有一个程序计算数组中的一组内置数字之间的最小差异(因为在这种情况下,最小差异是3,因为数字的最小差异在4和1之间) 。我想程序中值使用for循环设定值进入到6量这是低于当前的代码,而不是采取从用户:存储值的用户输入以显示最小差异

import java.util.*; 


public class Mindifference { 


Scanner numinput= new Scanner(System.in); 
public static void main(String[] args) 
{ 
    int[] a = new int[] {4, 9, 1, 32, 13}; 
    Arrays.sort(a); 
    int minDiff = a[1]-a[0]; 
    for (int i = 2 ; i != a.length ; i++) { 
     minDiff = Math.min(minDiff, a[i]-a[i-1]); 
    } 
    System.out.println(minDiff);  
} 
    } 
+0

什么是输出?你期望输出什么? – Bathsheba

+0

我希望输出是最小差值的计算值。因此与当前代码所做的一样,它会打印出3,因为这些数字之间的最小最小差异在1和4之间。 – megasxrl

回答

0

初步实现:

import java.util.Arrays; 
import java.util.Scanner; 

public class MinDifference 
{ 

    public static void main(String[] args) 
    { 
    Scanner scanner = new Scanner(System.in); 
    int[] inputs = new int[6]; 
    for (int i = 0; i < 6; i++) 
    { 
     System.out.print("Enter an integer: "); 

     inputs[i] = scanner.nextInt(); 
    } 
    scanner.close(); 
    Arrays.sort(inputs); 
    int minDiff = inputs[1] - inputs[0]; 
    for (int j = 2; j != inputs.length; j++) 
    { 
     minDiff = Math.min(minDiff, inputs[j] - inputs[j - 1]); 
    } 
    System.out.printf("The minimum difference is %d", minDiff); 
    } 
}