Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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 带方法的arraylist_Java_Arraylist_Methods_Output - Fatal编程技术网

Java 带方法的arraylist

Java 带方法的arraylist,java,arraylist,methods,output,Java,Arraylist,Methods,Output,由于我的最后一个问题显然有点不清楚(我对此表示赞同),我正在进行一次新的尝试,这次我将真正尝试澄清 这是我到目前为止写的代码 主要类别: import java.util.*; public class Head { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String fname, lname; int choice; ArrayList

由于我的最后一个问题显然有点不清楚(我对此表示赞同),我正在进行一次新的尝试,这次我将真正尝试澄清

这是我到目前为止写的代码

主要类别:

import java.util.*;

public class Head {
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    String fname, lname;
    int choice;

    ArrayList<People>list = new ArrayList<>();

    People p1 = new People("Mia", "Wallace", "1111");
    People p2 = new People("Marcellus", "Wallace", "2222");

    list.add(p1);
    list.add(p2);

    System.out.println("Welcome");

    System.out.println("1) Add person \n2) Last name \n3) Print list");
    choice = scan.nextInt();
    switch(choice){
    case 1:
        People.walk(); //calling the method
        break;
    case 2:
        People.run();
        break;
    case 3:
        People.crawl();
        break;
    }   
}
}
我确实理解我为什么会犯错误,但我不知道如何避免它。有什么帮助吗

当我尝试将代码从主类移动到构造函数时,我是对的吗

如果你们有任何意见或想法,我应该如何解决这个问题,或者继续使用java,我将很乐意在这里发表


非常感谢您的时间和帮助:)

arraylist应该在主类中。如果它在person类中,则会为您创建的每个person对象创建一次。要访问此人的方法,您需要调用对象的名称(而不是类型)和.method(参数)

如果要调用p1上的run(不确定要调用什么),可以使用:

p1.run();

这将在定义它的run方法中执行代码。

当您选择“first name”时,您希望看到什么输出?我希望得到“first name:”,然后用户应该能够输入它,在
案例1
案例2
中您想要做什么?您想让
person
中的每个元素都“走”还是“跑”?如果是这样,那么您需要迭代
person
,使每个元素都这样做。针对哪个人?你名单上的一个人?对于您以后将添加到列表中的新人员?现在,您正在将三个人添加到列表中,然后始终打印第一个人的姓名。另外,我建议将
person
重命名为
people
,以表达其复数性质。
p1.run();