2016-10-03 5 views
-1

그래서 임무에 대한 작업을하고 거의 다 끝났지 만 나에게 맞는 솔루션을 찾을 수 없습니다. 그래서 나는이 배열을 가지고 있습니다. 1은 이름을 요구하고, 2는 작업 시간과 시간당 요금을 묻습니다. 시간당 요율과 근무 시간으로, 나는 총 급여를주는 다른 배열을 만든다.배열의 최대 값 찾기 및 번호 배열을 제공하는 프로그램을 얻으려면

그래서 가장 높은 봉급과 그들이있는 사람의 이름을 인쇄해야합니다.

그래서 최대 값이있는 슬롯 번호를 제공하는 방법을 찾고 있습니다. 그래서 System.out.Println을 사용할 수 있습니다. ("a [maxslotnr] +"는 가장 높은 급여를 갖고 있습니다. "d" 영어를 가능한 한 많이 사용한다 SO에 요청하면 [maxslotnr])

여기에 코드

public class MaxLaun { 
    public static void main(String args[]) { 

    StdOut.print("what is the amount of employees "); 
    int amount = StdIn.readInt(); 
    String[] a = new String[number]; 
    int[] b = new int[number]; 
    int[] c = new int[number]; 
    int[] d = new int[number]; 



    for (int i=0; i < amount; i++) { 
     StdOut.print("Name of employee"); 
     String name = StdIn.readString(); 
     a[i] = name; 
     StdOut.print("hourly rate"); 
     int rate = StdIn.readInt(); 
     b[i] = rate; 
     StdOut.print("amount of worktime"); 
     int time = StdIn.readInt(); 
     c[i] = time; 
    } 

    for (int j=0; j < number; j++) 
    d[j]= (b[j] * c[j]); 

    } 
} 
+0

참고 :

나는 이것이 당신이 찾고있는 무슨 생각? (두 번째 반복문과 동일) (두 번째 반복문은 첫 번째 문장에서 b * c를 수행합니다) – AxelH

답변

1

입니다. 귀하의 코드에서도. amount`, 그것은 오타입니다`number``으로 배열을 생성하지 당신이 :

int maxValue = 0; 
    int pos = 0; 

    for (int j = 0; j < fjoldi; j++) { 
     if (d[j] > maxValue) { 
      maxValue = d[j]; 
      pos = j; 
     } 
    } 
+0

빠른 답장을 보내 주셔서 감사합니다! 나는 당신이 그것을 이해할 수 있도록 영어로 당신을 위해 텍스트를 편집했습니다 : P와 예 나는 당신이 맞다고 생각합니다. 나는 그것을 밖으로 시도 갈거야. –

+0

당신은 maxValue를 제거하고 인덱스를 직접 사용할 수 있습니다;) – AxelH

+0

@AxelH는 maxValue를 으로 도랑화할 수 있다고 말했습니다.'int pos = 0; (int [j]> d [pos]) { pos = j; if (d [j]> d [pos]) if (int j = 0; j gfelisberto