如何在不重新估价的情况下通过循环存储每个人的价值



因此,我有这个问题来比较哪个销售人员在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
}
}
}
}

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

  1. 创建一个sales类,该类具有每个月的销售名称和数量
  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输入。

最新更新