-1

ご迷惑をおかけして申し訳ありません。しかし、私はHWの問題の別の部分で立ち往生しています。私は今、営業担当者を0にする代わりに、営業担当者を1から始めるという任務を負っています。文字列iを整数に解析し、1を追加することで、これを解決しようとしました。ただし、何らかの理由でminの計算が正しくありません。0のままです。コードをステップ実行して理由を確認しようとしましたが、表示されません。

import java.util.Scanner;
public class Cray {
public static void main(String[] args){

    final int SALESPEOPLE = 5;
    int[] sales = new int[SALESPEOPLE];
    int sum, randomValue, numGreater = 0;
    int max = sales[0];
    int min = sales[0];
    int maxperson = 0;
    int minperson = 0;



    Scanner scan = new Scanner(System.in);
    for (int i=0; i<sales.length; i++)
        {
        //To attempt print out the information of salesperson 0 and salesperson 1, I returned the integer value of i and added one.
        System.out.print("Enter sales for salesperson " + Integer.valueOf(i+1) + ": ");
        sales[i] = scan.nextInt();

        //max if statemnent works fine and is correct
        if(sales[i] > max){
            max= sales[i];
            maxperson = i;
        }
        //For some reason max is calculating but not min. 
        if(sales[i] < min){
            min = sales [i];
            minperson= i;
        }


        }



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

    System.out.println("\nTotal sales: " + sum);
    System.out.println("Average sales: " + sum/5);
    System.out.println();
    System.out.println("Salesperson " + Integer.valueOf(maxperson+1) + " had the most sales with " + max );
    System.out.println("Salesperson " + Integer.valueOf(minperson+1) + " had the least sales with " + min);
    System.out.println();
    System.out.println("Enter any value to compare to the sales team: ");
    randomValue = scan.nextInt();
    System.out.println();
    for(int r=0; r < sales.length; r++){
        if(sales[r] > randomValue){
            numGreater++;
            System.out.println("Salesperson " + Integer.valueOf(r+1) + " exceeded that amount with " + sales[r]);
        }

    }
    System.out.println();
    System.out.println("In total, " + numGreater + " people exceeded that value");

      }

    }
4

1 に答える 1

2

問題は、minすべてのプラスの売上が> 0になるため、が設定されないことです。

正の売上高がステートメントで指定された最小値よりも小さくなるようminに、大きな値として初期化する必要があります。if

if (sales[i] < min) {

あなたが使用することができます:

int min = Integer.MAX_VALUE;
于 2012-10-20T18:53:57.563 に答える