繁体   English   中英

显示 3D 数组中的值 Java

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM