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())