有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何创建计数器来计算输入最高工资的人数?

import java.util.Scanner;

public class Lab4a{
  public static void main(String[] args){
  Scanner keyboard = new Scanner(System.in);
  int numemployees, max, freq;

  System.out.print("Enter number of employees: ");
  numemployees = keyboard.nextInt();

  System.out.println("Enter salary for " + numemployees + " employees:");
  int[] salaries = new int [numemployees];

  max = salaries[0];
  for (int i=0; i < salaries.length; i++){
    salaries[i] = keyboard.nextInt();
    if (salaries[i] > max)
      max = salaries[i];
  }

  System.out.println("Maximum salary is " + max);
  System.out.println(" employees received " + max);
}

所以这个的输出是

输入员工人数:3 输入3名员工的工资: 10000 15000 15000 最高工资为15000英镑 员工收到15000份

我想说的是,“2名员工获得了15000美元”。这就是我所需要做的。请帮助我如何使用另一个循环建立计数器。。。尽可能简单!谢谢


共 (4) 个答案

  1. # 1 楼答案

    给你-

    包裹通讯。沃尔玛。服务

    导入java。util。扫描仪

    公共类Lab4a{

    public static void main(String[] args) {
    
        Scanner keyboard = new Scanner(System.in);
    
        int numemployees, max, freq = 0;
    
        System.out.print("Enter number of employees: ");
    
        numemployees = keyboard.nextInt();
    
        System.out.println("Enter salary for " + numemployees + " employees:");
    
        int[] salaries = new int[numemployees];
    
        max = 0;
    
    
        for (int i = 0; i < salaries.length; i++) {
    
            salaries[i] = keyboard.nextInt();
    
            if (salaries[i] > max) {
                freq = 1;
                max = salaries[i];
            } else if (salaries[i] == max) {
                freq++;
            }
    
    
        }
        System.out.println("Maximum salary is " + max);
    
        System.out.println(" employees received " + freq);
    }
    

    }

  2. # 2 楼答案

    修改你的循环如下:

    max = salaries[0];
    freq = 1;
    for (int i=0; i < salaries.length; i++){
      salaries[i] = keyboard.nextInt();
      if (salaries[i] > max) {
        freq = 1;
        max = salaries[i];
      } else if (salaries[i] == max) {
        ++freq;
      }
    }
    System.out.println(freq + " employees received " + max);
    
  3. # 3 楼答案

    试试这个

    int count =0;
    System.out.println("Maximum salary is " + max);
    
    System.out.println(" employees received " + max);
    
    for(int i=0;i< salaries.length ;i++)
    {
        if(salaries[i] == max)
            count++;
    }
    if(count>1)
    {
        System.out.println(count+" employees received " + max);
    }
    
  4. # 4 楼答案

    int count = 0;
    
    for (int i=0; i < salaries.length; i++){
    
         if (salaries[i] == max)
    
         count++;
    
    }
    
    System.out.println(count+" employees received "+max);