Java 方法fillArrayList来填充两个arraylist列表

Java 方法fillArrayList来填充两个arraylist列表,java,arraylist,Java,Arraylist,如何在方法fillArrayList中用相应的元素填充这两个列表?用户必须输入值 import java.util.ArrayList; import java.util.Scanner; class Assignment1 { public static void main(String[] args) { ArrayList<Integer> list1 = new ArrayList<Integer>(); ArrayLis

如何在方法fillArrayList中用相应的元素填充这两个列表?用户必须输入值

import java.util.ArrayList;
import java.util.Scanner;

class Assignment1
{
    public static void main(String[] args)
    {
      ArrayList<Integer> list1 = new ArrayList<Integer>();
      ArrayList<Integer> list2 = new ArrayList<Integer>();

      System.out.println("Enter your lists = ");
      fillArrayList(list1,list2);

    }

    public static void fillArrayList(ArrayList<Integer> L1 ,ArrayList<Integer> L2 )
    {
           //don't know what to do here to fill two lists from the user , really need help

    }
import java.util.ArrayList;
导入java.util.Scanner;
班级分配1
{
公共静态void main(字符串[]args)
{
ArrayList list1=新的ArrayList();
ArrayList list2=新的ArrayList();
System.out.println(“输入列表=”);
fillArrayList(列表1、列表2);
}
公共静态无效fillArrayList(ArrayList L1,ArrayList L2)
{
//不知道该怎么做,这里填写两个列表的用户,真的需要帮助吗
}

您只需从用户处获取输入,将其读作
int
Integer
,然后只需调用即可从用户处获取输入并将其添加到列表中

public static void fillArrayList(ArrayList<Integer> l1,
        ArrayList<Integer> l2) {
    // don't know what to do here to fill two lists from the user , really
    // need help
    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter elemetns for List 1: Enter -1 to end ");

    while (scanner.hasNext()) {
        if (scanner.hasNextInt()) {
            int i = scanner.nextInt();
            if (i == -1)
                break;
            l1.add(i);
        } else {
            System.out.println("Invalid value Please enter integer");
            scanner.next();
        }
    }
    System.out.println("Your List :"+ l1);

    //Do same for List 2
}
公共静态无效fillArrayList(ArrayList l1,
数组列表(l2){
//真的不知道该怎么做才能填上用户的两个列表
//需要帮助吗
扫描仪=新的扫描仪(System.in);
System.out.println(“为列表1输入元素:输入-1以结束”);
while(scanner.hasNext()){
if(scanner.hasNextInt()){
int i=scanner.nextInt();
如果(i==-1)
打破
l1.加入(i);
}否则{
System.out.println(“无效值请输入整数”);
scanner.next();
}
}
System.out.println(“您的列表:+l1”);
//对清单2做同样的操作
}

在fillArrayList中,您需要一个循环。由于arraylist的大小不确定,您将需要某种终止输入。如果所需的数字都是正数,则简单的终止输入将是负数。换句话说,使用while循环,如果输入为负数,则停止循环

要从用户处获取值,请使用Scanner类。获取整数所需的方法是nextInt()方法


得到整数后,只需使用add方法将其添加到列表中。

我认为您应该修改
fillArrayList
签名,一次只填充一个列表。您可以为两个arraylist调用两次

因此,您的方法应该是:-

public static void fillArrayList(ArrayList<Integer> myList) {
    /* Let the code be same as the one in @AmitD's post */

    Scanner scanner = new Scanner(System.in);
    System.out.println("Enter elemetns for List: Enter -1 to end ");

    while (scanner.hasNext()) {
        if (scanner.hasNextInt()) {
            int i = scanner.nextInt();
            if (i == -1)
                break;

            myList.add(i);
        } else {
            System.out.println("Invalid value Please enter integer");
            scanner.next();
        }
    }

}
现在,通过main方法,您可以对每个列表调用此方法两次,如下所示:-

fillArrayList(list1);
fillArrayList(list2);
回到main方法中,您可以打印列表,因为您在
fillArrayList
方法中所做的更改也会反映在那里

System.out.println(list1);
System.out.println(list2);

你为什么要添加
javascript
标记?你还没有做任何事情吗?先试试看,如果你失败了,我们很乐意帮助你。似曾相识-我昨天没看到这个吗?@rain。我们看不到那个代码。常见的是让一些代码落在你的帖子上。@rain。我会说,一个
fillArrayList
方法就足够了,并且调用它两次f或者两个列表。因此,您的方法一次只能填充一个arraylist。好的,现在我知道如何在一个方法中填充两个arraylist列表,谢谢谢谢谢谢,你救了我的命:D@rain.不客气。记住,一个方法中不需要填写两个arraylist。只需填写一个arraylist。然后调用该方法两次。使用-1结束它是不好的主意,因为他们可能想在列表中输入-1。你可以检查他们是否完成了输入/结束了该行/输入了一个空行。
System.out.println(list1);
System.out.println(list2);