2016-12-05 2 views
-2

일부 Java를 배우려고하고 현재 일부 기본 프로그램을 수행하고 있으며 파일에서 읽은 다음 MIN 및 MAX 값을 찾아야하지만 코드에서 MAX 값만 찾을 수 있습니다 MIN 값이 작동하지 않습니다. 단지 내가 지정한 값을 보여줍니다. 누군가 나를 도울 수 있습니까? 지금까지 내 코드가 있습니다.최소 및 최대 값 찾기 JAVA

public class uzduotis { 

public static void main(String[] args) { 

    int[] data = fileReading("skaiciai"); 

    System.out.println(Arrays.toString(data)); 

} 

// Reads numbers from file 
public static int[] fileReading(String failas) { 
    int minVal = 0, maxVal = 0; 
    try { 

     File f = new File(failas); 
     Scanner s = new Scanner(f); 
     int ctr = 0; 
     while (s.hasNextInt()) { 
      ctr++; 
      s.nextInt(); 
     } 

     int[] arr = new int[ctr]; 

     Scanner s1 = new Scanner(f); 

     for (int i = 0; i < arr.length; i++) { 
      arr[i] = s1.nextInt(); 
      maxVal = Math.max(maxVal, arr[i]); 
      minVal = Math.min(minVal, arr[i]); 
     } 

     System.out.println("Largest is " + maxVal); 
     System.out.println("Smallest is " + minVal); 
     return arr; 
    } catch (Exception e) { 
     return null; 
    } 
} 

}

+0

디버깅하는 시간. – rmlan

답변

1

이것은 아마도 minVal을 0으로 설정하여 양의 정수 입력이 아무 것도 작아지지 않기 때문일 수 있습니다.

배열을 선언 한 후 minVal = arr[0];을 추가하십시오.

+0

고마워 ... 너 바보 야. – Arnoldas

0

당신은 0, 이미 소수에 MINVAL을 시작했습니다. 그것을 큰 숫자로 바꾸는 것은 당신이해야 할 일입니다.

+0

나는 너무 바보 같아서 고마워. – Arnoldas

1

이 대신해야

minVal = Integer.MAX_VALUE; 

그렇지 않으면 당신은 당신이 시작 0보다 낮은 번호를하지 않습니다.

관련 문제