Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建循环中没有数组的类的多个实例_Java_Class_Loops_Object - Fatal编程技术网

Java 创建循环中没有数组的类的多个实例

Java 创建循环中没有数组的类的多个实例,java,class,loops,object,Java,Class,Loops,Object,我知道这个问题被问了很多次,我也看过很多类似的主题,但它们都包括数组或列表,我不想使用数组或列表,其次我不明白:)。 无论如何,我的问题是:我有一个带有名称、id、作业方法的类来将这些存储在变量中,我想问公司有多少员工,这就是为什么我不能硬编码每个变量,因为数字未知,因此我需要一个循环,不允许使用数组或列表。任何想法或帮助都将不胜感激,谢谢 下面是该类的代码: public class Staff{ public void name(String name){ Strin

我知道这个问题被问了很多次,我也看过很多类似的主题,但它们都包括数组或列表,我不想使用数组或列表,其次我不明白:)。 无论如何,我的问题是:我有一个带有名称、id、作业方法的类来将这些存储在变量中,我想问公司有多少员工,这就是为什么我不能硬编码每个变量,因为数字未知,因此我需要一个循环,不允许使用数组或列表。任何想法或帮助都将不胜感激,谢谢

下面是该类的代码:

public class Staff{
    public void name(String name){
        String staff_name = name;
    }
    public void id(String id){
        String staf_id = id;
    }
    public void job(String job){
        String staff_job = job;
    }
}
主要设备的代码:

import javax.swing.JOptionPane;
public class P2Q2{
    public static void main(String[]args){

        System.out.println("How many staff in Department? ");
        String staff_num = JOptionPane.showInputDialog(null,"How many Staff are there",
                "Department staff numbers",JOptionPane.QUESTION_MESSAGE);
        int staff_num_int = Integer.parseInt(staff_num);

        for(int i=1;i<staff_num_int;i++){
            //somthing in here to create objects for each staff
        }
    }
}
import javax.swing.JOptionPane;
公共类P2Q2{
公共静态void main(字符串[]args){
System.out.println(“部门中有多少员工?”);
String staff_num=JOptionPane.showInputDialog(null,“有多少员工”,
“部门员工编号”,作业窗格。问题消息);
int staff\u num\u int=Integer.parseInt(staff\u num);

对于(int i=1;i您可以创建不带数组或列表的
Staff
对象-但这没有意义,因为您将无法访问对象。如果您无法访问对象-这意味着垃圾收集器将在您退出循环作用域后销毁它们。

如果您无法使用数组或列表,并且您希望ess到每个staff对象。您可以研究使用哈希映射之类的东西。您可以将对象存储在哈希映射中,并在创建并添加到映射后使用staff名称作为键来访问每个对象。

为什么不允许使用数组或列表?问讲师:/,为什么-1:(你可以在Staff类中有一个静态计数变量,它告诉你一个实例被创建了多少次,如果这是你的意思的话。老实说,我很难理解你真正想要的是什么。我想我已经解释清楚了,我想为每个Staff创建具有不同引用的对象!!!Iit创建没有意义一个类的多个实例,在一个循环中,没有在某处存储对它们的引用。这样做的唯一选项是某种类型的集合或数组。如果不存储引用,您将无法在以后的程序中使用这些实例,垃圾收集器将删除它们。这个问题不可回答。错。哟你可以为每个实例创建一个单独的变量。我知道,这不是我想要的,因为以后我想访问这些对象并添加薪水和薪水stuff@Gendarme好吧,也许我错了。你能解释一下吗?你可以引用对象,而不用把它们放在数组或列表中。
Staff s=new Staff();
不在数组或列表中,但很好。这充其量只是一个注释。这个问题无法回答。