[英]Display Values in from 3D Array in Java
我是 Java 的新手,我正在尝试编写一个使用构造函数的代码,将员工姓名、员工编号和员工工资放入一个数组中,并使用简单的显示 function 显示它。 到目前为止我的代码失败了,我做错了什么以及如何在我的显示器 function 中显示它?
下面是到目前为止的代码。 `导入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 个并行 arrays 就足够了。 您可以使用 for 循环将输入添加到这些 arrays。 您的显示器 function 也应该接受 arrays 作为 arguments 并使用循环打印出元素,因为目前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 个变量更改为 arrays,随后更改了 get 方法以返回那些 arrays。 变量也必须是 static,因为它们是通过 main 方法访问的,这是一个 static 方法。 display 方法也是如此 - 说到这里,现在运行一个 for 循环,它将打印每个数组的第 i 个元素,以空格分隔,用于所有 5 个元素。 在将所有输入添加到 arrays 之后,在 main 方法的末尾调用 display 方法。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.