ArrayList的问题,如何添加以后再输出

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

public class Test {
public static void main(String[] args) {
ArrayList al = new ArrayList();
for(int i = 0;i<=10;i++){
Scanner input = new Scanner(System.in);
System.out.println("请输入猫的颜色:");
String col = input.next();
Cat c = new Cat();
c.setColor(col);
al.add();
System.out.println("请输入猫的体重:");
double wei = input.nextDouble();
c.setWeight(wei);
System.out.println("请输入猫的身高:");
double hei = input.nextDouble();
c.setWeight(hei);
System.out.println("是否继续 y/n");
char choose = input.next().charAt(0);
if(choose=='y'){
continue;
}else{
break;
}
}
System.out.println("打印信息:");
Cat c = new Cat();
for(int j =0;j<=10;j++){
System.out.println(c.getinfo());
}
}
}
我一共写了2各类,现在就是要在测试类中输入各项数据,利用ArrayList添加,然后再循环输出,这里改怎么做吗,求指导

ArrayList添加以后输出,可以使用get(position)来遍历每个集合的数据,实例如下:

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

public class Test {
public static void main(String[] args) {
ArrayList<Cat> al = new ArrayList<Cat>();
for(int i = 0;i<=10;i++){
Scanner input = new Scanner(System.in);
System.out.println("请输入猫的颜色:");
String col = input.next();
Cat c = new Cat();
c.setColor(col);
al.add(c);
System.out.println("请输入猫的体重:");
double wei = input.nextDouble();
c.setWeight(wei);
System.out.println("请输入猫的身高:");
double hei = input.nextDouble();
c.setWeight(hei);
System.out.println("是否继续 y/n");
char choose = input.next().charAt(0);
if(choose=='y'){
continue;
}else{
break;
}
}
System.out.println("打印信息:");
for(Cat c:al ){
    System.out.println(c.getinfo());//输出ArrayList的数据
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-11
import java.util.ArrayList;
import java.util.Scanner;

public class Test {
public static void main(String[] args) {
ArrayList al = new ArrayList();
for(int i = 0;i<=10;i++){
Scanner input = new Scanner(System.in);
System.out.println("请输入猫的颜色:");
String col = input.next();
Cat c = new Cat();
c.setColor(col);
al.add(c);
System.out.println("请输入猫的体重:");
double wei = input.nextDouble();
c.setWeight(wei);
System.out.println("请输入猫的身高:");
double hei = input.nextDouble();
c.setWeight(hei);
System.out.println("是否继续 y/n");
char choose = input.next().charAt(0);
if(choose=='y'){
continue;
}else{
break;
}
}
System.out.println("打印信息:");
for(Cat c:al ){
System.out.println(c.getinfo());
}
}追问

下面遍历输出的那个al报错了,显示Type mismatch: cannot convert from element type Object to Cat,这是什么原因吗

追答

哦 不好意思,刚才忘记修改前面了
import java.util.ArrayList;
import java.util.Scanner;

public class Test {
public static void main(String[] args) {
ArrayList al = new ArrayList();
for(int i = 0;i<=10;i++){
Scanner input = new Scanner(System.in);
System.out.println("请输入猫的颜色:");
String col = input.next();
Cat c = new Cat();
c.setColor(col);
al.add(c);
System.out.println("请输入猫的体重:");
double wei = input.nextDouble();
c.setWeight(wei);
System.out.println("请输入猫的身高:");
double hei = input.nextDouble();
c.setWeight(hei);
System.out.println("是否继续 y/n");
char choose = input.next().charAt(0);
if(choose=='y'){
continue;
}else{
break;
}
}
System.out.println("打印信息:");
for(Cat c:al ){
System.out.println(c.getinfo());
}
}

本回答被提问者采纳