2016-10-05 12 views
-1

私は本当にjavaに新しいですし、非常にひどく教えられているAPクラスに登録しましたので、割り当てのこの部分をどうやって行うのか分かりません。それはあなたに次のことをするコードを追加することをお勧めしますソートされていない配列の最大値を見つける方法

最大の販売を検索し、印刷します。例えば、 "Salesperson 3が最高の売り上げを$ 4500で持っていた"など、最大売り上げのセールス担当者のIDと販売額の両方を印刷します。これには別のループは必要ありません。値が読み取られ、合計が計算される同じループで実行できます。

我々が与えられたコードは、次の

インポートjava.util.Scannerです。 パブリッククラスセールス{

public static void main(String[] args) { 
    final int salesPeople = 5; 
    int[] sales = new int[salesPeople]; 
    int sum; 

    Scanner scan = new Scanner(System.in); 

    for (int i=0; i<sales.length; i++) { 

     System.out.print("Enter sales for salesperson " + i + ":"); 
     sales[i] = scan.nextInt(); 
    } 

    System.out.println("\nSalesperson Sales"); 
    System.out.println("------------------"); 
    sum = 0; 
    for (int i=0; i<sales.length; i++) { 
     System.out.println("  " + "  " + sales[i]); 
     sum += sales[i]; 

    } 

    System.out.println("\nTotal sales: " + sum); 
    System.out.println("Average sale " + sum/salesPeople); 
} 

}

私は本当に何をするか分からないとmaxと生産者のIDを確認する方法として、正しい方向にナッジをいただければ幸いです

max。

これは宿題です。

+0

[Java:配列の中で最高の値を見つける]の可能な複製(http://stackoverflow.com/questions/1806816/java-finding-the-highest-value-in-an-array) –

+0

こんにちはMilmo。先生があなたに協力するシェルを与えたようです。いくつかのコードをコピーして貼り付けることはできますが、何も学習しません。付属のプログラムを使用して数回実行し、各ステップで何が起こっているかを確認し、IDEを使用している場合はトレースしてください。次に、問題を解決するのに役立つツールを学習してください。あなたの宿題をするつもりはほとんどありませんし、あなたが試していない場合はあなた自身が不本意なことをしています。いくつかのものを試し、何が起こるかを見てください。それは壊れる/動作しない/クラッシュするYES ...しかしそれはあなたが学ぶ方法です。 – JohnG

+0

ありがとう、私は知っている、ほとんどの人と違って、私は勉強の目的で授業を取る。あなたのアドバイスは大歓迎です。 – Milmo

答えて

0

あなたの宿題なので、私はあなたに直接答えはしませんが、代わりにあなたにいくつかのヒントを与えます。あなたは2つの変数を追加する場合、たとえば、

int heighestSale = -1; // assume the sales are not negative or at least one sale is not negative int heighestPerson = -1;

、あなたはループの1つに、現在の販売値に基づいて、2つの変数を更新し、最後にそれらをプリントアウト。

+0

ありがとうございました!私はこれを使って何らかの形でプログラムを動作させることができると信じています。助けてくれてありがとう。 – Milmo

0

並べ替えられていない配列の最大値を見つける1つの方法は、ループを使用して(おそらくforループを使用して)配列を通過し、最大値を追跡することです。

私はあなたの宿題をする必要はありませんが、それは次のようになります。

max = Integer.MIN (the smallest possible integer value) 

    for item in array 
     if item is greater than max 
      store item in max 

最大値を見つける必要があります。この戦略 - これはあなたの役に立てば幸い! forループとあなたが示した以前のもののようなprintステートメントをモデル化します。ここ

+0

答えをくれてありがとうございますが、私たちはクラスのラッピングについてはほとんど学んでいませんでした(私はそれが呼ばれていると思います)ので、もっと基本的なアプローチを使用してこれを達成することをお勧めします。 – Milmo

0

キーは、販売のすべての販売のsummax数は、新たなセールスマンのエントリが入力されるたびに計算することができますことを覚えておくことです。たとえば、セールスマン0の売上高はNであるため、sumはN、maxはNです。連続する各エントリで、値を加算することでsumを更新することができます。maxエントリの値が現在知られている最大値よりも大きい。

+0

ありがとう、これは私の思考プロセスの一歩でしたが、あなたの説明は私の心の中でそれを少し明確にしました。 – Milmo

関連する問題