Java 按用户创建新实例

Java 按用户创建新实例,java,variables,instance,Java,Variables,Instance,正如你们中最熟练的JAVA用户可能已经看到的那样,这是行不通的sb不能同时用作字符串和实例。但你也一定知道我在这里想做什么。我尝试让用户创建类Cook的新实例。但是由于cook1和cook2已经存在(已经在代码中创建),我现在希望用户创建一个新的。不知何故,sb必须作为一个变量运行,因为必须插入一个潜在的下一个cook作为cook4等。。。 在Java中如何做到这一点 包装烤肉串店; 导入java.util.Scanner; 公共课新厨师{ 静态字符串newcookname; 静态字符串地址;

正如你们中最熟练的JAVA用户可能已经看到的那样,这是行不通的
sb
不能同时用作
字符串
实例
。但你也一定知道我在这里想做什么。我尝试让用户创建类
Cook
的新
实例。但是由于
cook1
cook2
已经存在(已经在代码中创建),我现在希望用户创建一个新的。不知何故,
sb
必须作为一个变量运行,因为必须插入一个潜在的下一个cook作为
cook4
等。。。 在Java中如何做到这一点

包装烤肉串店;
导入java.util.Scanner;
公共课新厨师{
静态字符串newcookname;
静态字符串地址;
静态字符串newcookpobox;
静态字符串纽库克镇;
静态整数;
静态扫描仪=新扫描仪(System.in);
公共静态无效newcook(){
Cook.numberofcooks++;//这行得通,这个计数器加起来。
System.out.println(“输入名称new cook”);
newcookname=scanner.nextLine();
System.out.println(“输入新地址”);
newcookaddress=scanner.nextLine();
System.out.println(“输入订单框new cook”);
newcookpobox=scanner.nextLine();
System.out.println(“进城新厨师?”);
newcooktown=scanner.nextLine();
System.out.println(“输入税号new cook”);
newcooktaxnumber=scanner.nextInt();
StringBuilder sb=新StringBuilder(“库克”);
某人插入(3,厨师人数);
System.out.println(sb);//检查构造函数是否工作,是的!它说“cook3”
Cook sb=新厨师(newcookname、newcookaddress、newcookpobox、newcooktown、newcooktaxnumber);
println(“雇用了一名新厨师”+sb.getName()+”,住在“+sb.getdown()”);
}
}

您应该使用collection(如评论中所述)来完成此操作。我还假设您应该让您的方法返回您创建的实例:

public static Cook newcook() {
    //all your logic is the same
    return sb;
}
然后,在调用方法
newcook
的作用域的开头:

List<Cook> cooks = new ArrayList<Cook>();
...
cooks.add(cook1);
cooks.add(cook2); // Since they already exist, as you mentioned

cooks.add(newcook()); // inserts third
List cooks=new ArrayList();
...
添加(cook1);
cooks.add(cook2);//因为他们已经存在了,就像你提到的
cooks.add(newcook());//插入第三个

您应该使用collection(如评论中所述)来完成此操作。我还假设您应该让您的方法返回您创建的实例:

public static Cook newcook() {
    //all your logic is the same
    return sb;
}
然后,在调用方法
newcook
的作用域的开头:

List<Cook> cooks = new ArrayList<Cook>();
...
cooks.add(cook1);
cooks.add(cook2); // Since they already exist, as you mentioned

cooks.add(newcook()); // inserts third
List cooks=new ArrayList();
...
添加(cook1);
cooks.add(cook2);//因为他们已经存在了,就像你提到的
cooks.add(newcook());//插入第三个

创建一个包含Cook实例的列表,每次创建一个列表时,将其添加到list@Stultuske,是的,但如何创建一个?我想我不明白你的意思!我是否需要创建一个包含大量实例名称的列表,如“cook3、cook4、cook5等?并拿出一个分配给新创建的实例???为什么需要不止一个cook变量?不能将旧cook对象存储到集合中,然后使用cook变量保存新cook吗?创建一个包含cook实例的列表,每次创建一个列表时,将其添加到集合中list@Stultuske,是的,但如何创建一个?我想我不明白你的意思!我是否需要创建一个包含多个实例名称的列表,如“cook3、cook4、cook5等”,并将其中一个名称分配给新创建的实例???为什么需要多个cook变量?能否将旧cook对象存储到集合中,然后使用cook变量保存新cook?