java - 如何通过循环存储每个人的价值而不被重新估价?
问题描述
所以,我有这个问题来比较哪个推销员在 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
}
}
}
}
解决方案
您的问题有两种不同的解决方案。
- 创建一个推销员类,其中包含每个月的名称和销售额。
- 以销售员人数按月数的长度创建二维数组,然后将每个值存储在数组中,例如:
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 输入。
推荐阅读
- javascript - 在 HTML 页面中包含 HTML 页面的最佳方式(为了性能)
- javascript - 使用 ng-template 进行 ng-select 时清除图标“x”丢失
- scala - Akka RestartSink 不会重新启动流
- c++ - 构建一个向量作为另一个向量的子集而不复制
- java - 将java程序保存为一个文件时遇到问题?
- javascript - XMLHttpRequest 通过但不是我的 Jquery Ajax 调用调用相同的东西
- javascript - 添加具有未知请求参数的行时,jQuery DataTable 失败
- amazon-s3 - AWS S3 缓存控制 0 TTL 0 未更新
- excel - 如何自动刷新受保护工作表中的数据透视表
- javascript - 在没有用户选择器对话框的情况下获取当前用户的访问令牌