java - 在 Java 中显示 3D 数组中的值
问题描述
我是 Java 新手,我正在尝试编写一个使用构造函数的代码,将员工姓名、员工编号和员工工资放入一个数组中,并使用一个简单的显示函数显示它。到目前为止我的代码失败了,我做错了什么以及如何在我的显示功能中显示它?
下面是到目前为止的代码。` 导入 java.util.Scanner; 导入 java.util.ArrayList;导入 java.util.List;
public class functionAssignment1 {
private int empNum;
private double empSal;
private String empname;
public functionAssignment1(int e, String d, double s){
empNum = e;
empname = d;
empSal = s;
}
public int getEmpNum(){
return empNum;
}
public double getSalary(){
return empSal;
}
public String getname(){
return empname;
}
public void display (){
System.out.println()
}
public static void main(String[]args){
List<functionAssignment1> employeeList= new ArrayList<functionAssignment1>();
while (employeeList.size() < 5) {
Scanner sc = new Scanner(System.in);
System.out.println("Please enter your employee number: ");
int e = sc.nextInt();
System.out.println("Please enter your Employee name: ");
String d= sc.nextLine();
System.out.println("Please enter your Salary: ");
double s = sc.nextDouble();
employeeList.add(new functionAssignment1(e,d, s));
}
}
}`
解决方案
据我所知,您的代码中没有数组。您想要做的事情不需要 3d 数组,因为包含数字、姓名和薪水的 3 个并行数组就足够了。您可以使用 for 循环将输入添加到这些数组中。您的显示函数还应该接受数组作为参数并使用循环打印出元素,因为目前System.out.println
没有打印任何内容。这应该有效:
import java.util.*;
public class functionAssignment1 {
private static int[] empNums;
private static double[] empSals;
private static String[] empnames;
public int[] getEmpNums(){
return empNums;
}
public double[] getSalaries(){
return empSals;
}
public String[] getnames(){
return empnames;
}
public static void display (int[] nums, String[] names, double[] sals){
for (int i = 0; i < 5; i++)
{
System.out.println(nums[i] + " " + names[i] + " " + sals[i]);
}
}
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
empNums = new int[5];
empnames = new String[5];
empSals = new double[5];
for (int i = 0; i < 5; i++){
System.out.println("Please enter your employee number: ");
empNums[i] = sc.nextInt();
System.out.println("Please enter your Employee name: ");
sc.nextLine(); //so the input isn't skipped
empnames[i] = sc.nextLine();
System.out.println("Please enter your Salary: ");
empSals[i] = sc.nextDouble();
}
display(empNums, empnames, empSals);
}
}
我将 3 个变量更改为数组,随后更改了 get 方法以返回这些数组。变量也必须是静态的,因为它们是由 main 方法访问的,这是一个静态方法。display 方法也是如此 - 说到这里,现在运行一个 for 循环,它将打印每个数组的第 i 个元素,由空格分隔,用于所有 5 个元素。在将所有输入添加到数组之后,在 main 方法的末尾调用 display 方法。希望这可以帮助。
推荐阅读
- reactjs - Chart.js (react-chartjs-2) - 增加图例标签之间的边距,但不在图表上
- reactjs - 我们可以自定义 create-react-app 应用程序的 babel 和 webpack 的默认配置吗?
- node.js - 如何以 zip 格式下载发布到 GitHub 包注册表的 NPM 包?
- python-3.x - 为什么同步函数中的 time.sleep 会阻塞主 FastAPI 线程?
- django - 区分在 django 中单击了哪个链接按钮
- mysql - 如何将 yyyymmdd hhmmss Etc/GMT 转换为 yyyy-mm-ddThh:mm:ss
- flutter - 从 .p12 文件或 .cer 文件管理器中获取签名
- visual-studio-code - VS Code:如何停用行选择器?
- javascript - 如何在 Electron 15 中导入菜单
- c++ - 当对象在 switch case 中超出范围时访问冲突