2013-04-12 3 views
0

내 일하는 방법에 점점 문제가있어 임, 나는 다른 사람을 호출하는 기본 방법에 뭔가 잘못하고 있다고 생각합니다. if, while 또는 for 문이 필요한지 확실하지 않습니다. 누구든지 도와 드릴까요, 정말 고맙습니다. 여기 내 프로그램이 있습니다 ...배열, 자바에서 가장 작은, 가장 큰, 그리고 평균을 확인하십시오

public static void main(String[] args) throws IOException { 
    Scanner kb = new Scanner(System.in); 
    final int MAX = 100; 
    int [] myarray = new int [MAX]; 
    int fillsize, total = 0, num; 
    int smallest = 0, largest = 0; 
    fillsize = fillarray (myarray, MAX); 
    printarray (myarray, fillsize); 

    num = kb.nextInt(); 
    int small = num; 
    int large = num; 
    total = Average(total, num); 
    if(smallest (num, smallest)) 
    { 
     small = num; 
    } 
    if(largest(num, largest)) 
    { 
     large = num;  
    } 
    System.out.println("The smallest value is: " + smallest); 
    System.out.println("The largest value is: " + largest); 
    System.out.println("The average is: " + total); 

    prw.close(); 
} 

public static int fillarray (int[] num, int MYMAX){ 
    Random gen = new Random(); 
    int retval = 0; 
    int randomnum; 
    for(int count = 0; count <= 30; count++){ 
     randomnum = gen.nextInt(150); 
     num [count] = randomnum; 
     System.out.println(randomnum); 
     retval++; 
    } 
    System.out.println("The return value is: " + retval); 
    return (retval); 
} 
public static void printarray (int[] num, int fillsize){ 
    for (int counts = 0; counts < fillsize; counts++){ 
     System.out.println("For the position ["+counts+"] the value is " + num[counts]); 
    } 
    return; 
} 
public static boolean smallest (int num1, int num2){ 
    boolean returnValue; 
    if (num2 < num1){ 
     returnValue = true; 
    } 
    else { 
     returnValue = false; 
    } 
    return (returnValue); 
} 
public static boolean largest (int number1, int number2){ 
    boolean returnVal; 
    if (number1 > number2){ 
     returnVal = true; 
    } 
    else{ 
     returnVal = false; 
    } 
    return (returnVal); 
} 
public static int Average (int avg, int sum){ 
    int retVal; 
    retVal = avg + sum; 
    return(retVal); 
} 

내가 뭘 잘못하고 있니?

답변

1

나는 당신이 잉여를 만드는 num에 가장 작고 가장 큰 두 가지를 설정했는지 의심 스럽다.

또한 당신이 사용하지 않는 것이 좋습니다 동일한 이름을 가진 변수와 메소드가 0

에 모두를 설정하십시오. (혼란 스럽다).

+0

팁은 혼란스러운 하하 덕분입니다. – CBH

관련 문제