首页 > 解决方案 > 如何通过循环存储每个人的价值而不被重新估价?

问题描述

所以,我有这个问题来比较哪个推销员在 3 个月内的总销售额更多。但是我不知道如何为数组中的每个推销员存储价值,因为它目前正在重写并且只保存最后一个推销员的价值。有人可以帮我吗 ?

       import java.util.Scanner;

        public class TutorialChallenge {
        public static void main(String[] args) {
        
        Scanner input = new Scanner(System.in);
        Scanner stringinput = new Scanner(System.in);
        
        int size=0;
        int i;
        
        System.out.println("How many salesman are in the company?");
        size = input.nextInt();
        
        String[] salesman = new String[size];
        
        for(i=0;i < size;i++) {
            System.out.println("What is the name of salesman ");
            salesman[i] = stringinput.nextLine();
        }
        for(int j=0; j < size; j++) {
            
            String compare = salesman[j];
        
            for(int k=j+1; k<size;k++) {
                if(compare.equals(salesman[k])){
                    System.out.print("Same name found, " + compare + ".\n");
                }
            }
        }
        
        String[] month = {"January","February","March"};
        int[] carsold = new int[month.length];
        String[] num = new String[size];
        int[] mv = new int[month.length];
        
        for(int a=0; a<size;a++) {
        for(i=0;i<month.length;i++) {
            System.out.println("How many cars did "+salesman[a]+" sold in " + month[i]);

            //How to store value for each of the months for each salesman
        }
        }

        }
        }

标签: java

解决方案


您的问题有两种不同的解决方案。

  1. 创建一个推销员类,其中包含每个月的名称和销售额。
  2. 以销售员人数按月数的长度创建二维数组,然后将每个值存储在数组中,例如:
String[] month = {"January","February","March"};
        int[][] carsold = new int[size][month.length];//creating 2 dimensional array. 
        String[] num = new String[size];
        int[] mv = new int[month.length];
        
        for(int a=0; a<size;a++) {
        for(i=0;i<month.length;i++) {
            System.out.println("How many cars did "+salesman[a]+" sold in " + month[i]);

            carsold[a][i] = input.nextInt();
        }
        }

最后,如果您没有特别的理由使用两个 Scanner,则应该将一个用于 int 和 String 输入。


推荐阅读