Java 如何将扫描仪编号传递给ArrayList

Java 如何将扫描仪编号传递给ArrayList,java,Java,我的方法很有效!!我试图从用户那里获取信息,而不是像我在代码中那样自己输入数字。。有没有一种方法可以让我在不将数字存储在不同变量的情况下传递它们!谢谢 import java.util.*; public class Interleave { public static void main(String[] args) { Scanner console = new Scanner(System.in); System.out.println("Welc

我的方法很有效!!我试图从用户那里获取信息,而不是像我在代码中那样自己输入数字。。有没有一种方法可以让我在不将数字存储在不同变量的情况下传递它们!谢谢

import java.util.*;

public class Interleave {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        System.out.println("Welcome to Interleave program! ");
        System.out.println();


        System.out.print("how many number for array 1:= ");
        int array1 = console.nextInt();
        for (int i = 0; i < array1; i++) {
            System.out.print("please enter nubmers := ");
            int num = console.nextInt();
        }

        ArrayList<Integer> a1 = new ArrayList<Integer>();
        a1.add(10);
        a1.add(20);
        a1.add(30);

        System.out.println();
        System.out.print("how many number for array 2:= ");
        int array2 = console.nextInt();
        for (int i = 0; i < array2; i++) {
            System.out.print("please enter nubmers := ");
            int num2 = console.nextInt();
        }

        ArrayList<Integer> a2 = new ArrayList<Integer>();
        a2.add(4);
        a2.add(5);
        a2.add(6);
        a2.add(7);
        a2.add(8);

        System.out.println();
        System.out.println(a1);
        System.out.println(a2);

        interleave(a1, a2); //parameters

        System.out.println(a1);


    }//end of main
    public static void interleave(ArrayList<Integer> list1, ArrayList<Integer> list2) {
        int sizeList1 = list1.size();//size of array
        int sizeList2 = list2.size();//size of array

        ArrayList<Integer> temp = new ArrayList<Integer>(); //


        for (int index = 0; index < list1.size(); index++)// copy elements ferom list 1
            temp.add(index, list1.get(index));


        for (int index = 0; index < list2.size(); index++)// copy elements ferom list 2
            temp.add(index, list2.get(index));


        int tempSize = temp.size(); //get temporary array size

        temp.clear(); //clear tepm array


        if (list1.size() > list2.size()) {
            for (int index = 0, list1Index = 0, list2Index = 0;
            index < sizeList1;
            index = index + 2, list1Index++, list2Index++ )
            {
                temp.add(index, list1.get(list1Index));
                temp.add(index + 1, list2.get(list2Index));
            }


            for (int index = 2 * list2.size(),
            list2Count = list2.size();
            index < tempSize; list2Count++, index++ )
            temp.add(index, list1.get(list2Count));

            list1.clear(); // clear list 1

            for (int index = 0; index < temp.size(); index++)
                list1.add(index, temp.get(index));
        } else {
            for (int index = 0, list1Index = 0, list2Index = 0;
            index < sizeList2;
            index = index + 2, list1Index++, list2Index++ )
            {
                temp.add(index, list1.get(list1Index));
                temp.add(index + 1, list2.get(list2Index));
            }

            for (int index = 2 * list1.size(),
            list1Count = list1.size(); index < tempSize;
            list1Count++, index++ )
            temp.add(index, list2.get(list1Count));


            list1.clear();

            for (int index = 0; index < temp.size(); index++)
                list1.add(index, temp.get(index));
        }


    }//end of interleave


}//end of class
import java.util.*;
公共类交织{
公共静态void main(字符串[]args){
扫描仪控制台=新扫描仪(System.in);
System.out.println(“欢迎使用Interleave程序!”);
System.out.println();
System.out.print(“数组1的数量:=”;
int array1=console.nextInt();
for(int i=0;ilist2.size()){
对于(int index=0,list1Index=0,list2Index=0;
指数
  • 创建一个整数数组列表
  • 每次需要添加号码时,请调用
    mylist.add(console.nextInt())
  • 完成后调用mylist.clear(),或将其设置为新的ArrayList
  • 只需小心可能引发的各种异常,并尝试捕获它们,以便用户必须重新键入数字,直到其有效