2016-10-03 8 views
-1

私は割り当て作業をしていますが、私はほとんど完了していますが、私にとってはうまくいく解決策を見つけることができません。だから、私はこれらの配列を持っています.1つは名前を要求し、2つは就業時間と時間単位を要求します。時給と勤務時間で、私は総給与を与える別の配列を作成します。配列の最大値を見つけ、配列番号を与えるプログラムを取得する

私は最高の給料とそれらを持っているその人の名前を印刷する必要があります。

私は最大値が入っているスロット番号を提供する方法を探していますので、System.out.Println( "a [maxslotnr] +"は最高給与 "dですから、できるだけ英語を使うべきで尋ねるときは、[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

注:

私はこれは、あなたが探しているものだと思いますか? (2番目のループで同じです)(なぜ2番目のループ?最初のもので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;pos = j;(d [j]> d [ } } しかし、これは新しいコーダーの複雑さを増します。コードをシンプルにしたい。 – gfelisberto

関連する問題