程序很简单,判断输入数字是否为空,不为空,就用arraylist.add()方法,添加,然后再把这个完成的数组copy给另一个数组,可是就是无法显示,有点小问题,忘大虾们提点提点吧。如果可以的话,可以帮我把数字输入,改成字符串输入吗?import java.util.ArrayList;
import java.util.Iterator;
import java.util.Arrays;
import java.util.Scanner;
public class Test{
public static void main(String[] args){ ArrayList List = new ArrayList();
Scanner input = new Scanner(System.in);
int num = 1;
while(num != 0)
{
System.out.print("请输入整数,0 退出:");
num = input.nextInt();
List.add(num);
}
System.out.print("您已经退出。");
int [] students = new int[List.size()];
System.arraycopy(List, 0, students, 0, List.size() );
for(int element: students){
System.out.print(element);
} }
}
import java.util.Iterator;
import java.util.Arrays;
import java.util.Scanner;
public class Test{
public static void main(String[] args){ ArrayList List = new ArrayList();
Scanner input = new Scanner(System.in);
int num = 1;
while(num != 0)
{
System.out.print("请输入整数,0 退出:");
num = input.nextInt();
List.add(num);
}
System.out.print("您已经退出。");
int [] students = new int[List.size()];
System.arraycopy(List, 0, students, 0, List.size() );
for(int element: students){
System.out.print(element);
} }
}
Scanner input = new Scanner(System.in); int num = 1;
while (num != 0) {
System.out.print("请输入整数,0 退出:");
num = input.nextInt();
List.add(num); }
System.out.print("您已经退出。"); for (Object object : List) {
System.out.println(object);
} }List 可以直接打印出来不用再放到一个数组中去吧如果真的需要就直接.toArray()不就行了?
package test;import java.util.ArrayList;
import java.util.Scanner;public class TestA {
public static void main(String[] args) { ArrayList<String> lst = new ArrayList<String>();
Scanner input = new Scanner(System.in); String num = "";
while (!num.equals("0")) {
System.out.print("请输入整数,0 退出:");
num = String.valueOf(input.nextInt());
lst.add(num);
}
System.out.println("您已经退出。"); String[] students = new String[lst.size()];
System.arraycopy(lst.toArray(), 0, students, 0, lst.size()); for (String element : students) {
System.out.println(element);
} }
}
只要下列任何情况为真,则抛出 ArrayStoreException 异常并且不会修改目标数组:src 参数指的是非数组对象。
dest 参数指的是非数组对象。
src 参数和 dest 参数指的是那些其组件类型为不同基本类型的数组。
src 参数指的是具有基本组件类型的数组且 dest 参数指的是具有引用组件类型的数组。
src 参数指的是具有引用组件类型的数组且 dest 参数指的是具有基本组件类型的数组。应该是在从Object数组复制到int数组时,发生了上边的异常。可以改为Integer类型的ArrayList<Integer> 和 Integer[]:import java.util.ArrayList;
import java.util.Scanner;public class Test{
public static void main(String[] args){
ArrayList<Integer> List = new ArrayList<Integer>();
Scanner input = new Scanner(System.in);
int num = 1;
while(num != 0)
{
System.out.print("请输入整数,0 退出:");
num = input.nextInt();
List.add(num);
}
System.out.println("您已经退出。"); Integer [] students = new Integer[List.size()];
System.arraycopy(List.toArray(), 0, students, 0, List.size() );
for(int element: students){
System.out.print(element);
}
}
}
每次我输入字符串的时候就会报错
import java.util.Scanner;public class Test {
public static void main(String[] args) { ArrayList list = new ArrayList();
Scanner input = new Scanner(System.in); int num = 1;
while (num != 0) {
System.out.print("请输入整数,0 退出:");
num = input.nextInt();
list.add(num); }
System.out.print("您已经退出。"); for (Object object : list) {
System.out.println(object);
} }
}/code][code=Java]
for (Object object : list) {
System.out.println(object);
}这样不就可以打印出来了么
晕,我以为你要我把里面的 int 全部改成 String。原来你是想输入String。