java编译说使用了未经检查或者不安全的操作 20
程序可以编译,但是运行出错,一下是前面的一部分程序packagelist;importjava.util.ArrayList;publicclassWhoseFish{p...
程序可以编译,但是运行出错,一下是前面的一部分程序
package list;
import java.util.ArrayList;
public class WhoseFish {
private static String[] FIVEHOUSES = { "红房子", "白房子", "绿房子", "蓝房子", "黄房子" };// 定义5种不同颜色的房子
private static String[] FIVEPERSONS = { "英国人", "瑞典人", "丹麦人", "挪威人", "德国人" };// 定义5种不同的国籍的人
private static String[] FIVEDRINKS = { "茶", "咖啡", "牛奶", "啤酒", "水" };// 定义5种不同的饮料
private static String[] FIVESMOKES = { "PalMal", "Dunhill", "BlMt","Prince", "Blends" };
private static String[] FIVEPETS = { "狗", "鸟", "猫", "马", "鱼" };// 定义5种不同的宠物
private int[][] co_Array; // 颜色数组
private int[][] pe_Array; // 人员数组
private int[][] dr_Array; // 饮料数组
private int[][] sm_Array; // 烟数组
private int[][] pet_Array; // 宠物数组
private static int total = 0;
public void init() { // 计算一组数据的组合方式
ArrayList array = new ArrayList(); // 创建集合数组
因为程序太长,不便于打出来,而且我认为问题应该就出现在前面的这几行,求各位高手帮忙看看
我改成ArrayList<Integer> array = new ArrayList<Integer>(); 这个之后,我再编译的时候出现了新问题,以下是异常的内容:
WhoseFish.java:44:找不到符号
符号:方法add(int[])
位置:类 java.util.ArrayList<java.lang.Integer>
array.add(oneArray);
程序里有意句就是:int oneArray[] = { num1, num2, num3, num4, num5 };
array.add(oneArray);是不是这里出错了 展开
package list;
import java.util.ArrayList;
public class WhoseFish {
private static String[] FIVEHOUSES = { "红房子", "白房子", "绿房子", "蓝房子", "黄房子" };// 定义5种不同颜色的房子
private static String[] FIVEPERSONS = { "英国人", "瑞典人", "丹麦人", "挪威人", "德国人" };// 定义5种不同的国籍的人
private static String[] FIVEDRINKS = { "茶", "咖啡", "牛奶", "啤酒", "水" };// 定义5种不同的饮料
private static String[] FIVESMOKES = { "PalMal", "Dunhill", "BlMt","Prince", "Blends" };
private static String[] FIVEPETS = { "狗", "鸟", "猫", "马", "鱼" };// 定义5种不同的宠物
private int[][] co_Array; // 颜色数组
private int[][] pe_Array; // 人员数组
private int[][] dr_Array; // 饮料数组
private int[][] sm_Array; // 烟数组
private int[][] pet_Array; // 宠物数组
private static int total = 0;
public void init() { // 计算一组数据的组合方式
ArrayList array = new ArrayList(); // 创建集合数组
因为程序太长,不便于打出来,而且我认为问题应该就出现在前面的这几行,求各位高手帮忙看看
我改成ArrayList<Integer> array = new ArrayList<Integer>(); 这个之后,我再编译的时候出现了新问题,以下是异常的内容:
WhoseFish.java:44:找不到符号
符号:方法add(int[])
位置:类 java.util.ArrayList<java.lang.Integer>
array.add(oneArray);
程序里有意句就是:int oneArray[] = { num1, num2, num3, num4, num5 };
array.add(oneArray);是不是这里出错了 展开
5个回答
展开全部
首先:java中未经检查或者不安全的操作并不是错误!!!完全可以忽视,不像看到这个的话,在class定义的前面一行加上@SuppressWarnings("unchecked")
然后把,我猜是你的ArrayList这里出的问题,ArrayList相当于一个容器,jdk1.5以后再定义容器的时候要加上泛型,如果你装的是String的话,可以改成ArrayList<String> array = new ArrayList<String>();
当然了,int型的就对应改为ArrayList<Integer> array = new ArrayList<Integer>();
补充:
你用的是ArrayList<Integer> array = new ArrayList<Integer>();的话就应该add单个的Integer元素,但是你add的是一个int数组,所以应该是ArrayList<int[]> array = new ArrayList<int[]>();这是相对应的。
另外,其他几楼的说数组没初始化完全不对,数组本来就可以定义的时候赋值。
然后把,我猜是你的ArrayList这里出的问题,ArrayList相当于一个容器,jdk1.5以后再定义容器的时候要加上泛型,如果你装的是String的话,可以改成ArrayList<String> array = new ArrayList<String>();
当然了,int型的就对应改为ArrayList<Integer> array = new ArrayList<Integer>();
补充:
你用的是ArrayList<Integer> array = new ArrayList<Integer>();的话就应该add单个的Integer元素,但是你add的是一个int数组,所以应该是ArrayList<int[]> array = new ArrayList<int[]>();这是相对应的。
另外,其他几楼的说数组没初始化完全不对,数组本来就可以定义的时候赋值。
展开全部
楼主说的没错,就是
int oneArray[] = { num1, num2, num3, num4, num5 };
array.add(oneArray);
这里出的错。
一个ArrayList使用add()方法 必须添加你定义时的对象
像你现在定义的就是
ArrayList<Integer> array = new ArrayList<Integer>();
如果使用array.add()方法就是应该这样
for(int i = 0; i < oneArray.length;i++){
array.add(oneArray[i]);
}
如果你想直接添加一个数组
必须这样,用Integer对象数组定义,
Integer[] oneArray = { num1, num2, num3, num4, num5 };
然后用Collections.addAll()方法添加
Collections.addAll(array , oneArray );
这样就可以了。
int oneArray[] = { num1, num2, num3, num4, num5 };
array.add(oneArray);
这里出的错。
一个ArrayList使用add()方法 必须添加你定义时的对象
像你现在定义的就是
ArrayList<Integer> array = new ArrayList<Integer>();
如果使用array.add()方法就是应该这样
for(int i = 0; i < oneArray.length;i++){
array.add(oneArray[i]);
}
如果你想直接添加一个数组
必须这样,用Integer对象数组定义,
Integer[] oneArray = { num1, num2, num3, num4, num5 };
然后用Collections.addAll()方法添加
Collections.addAll(array , oneArray );
这样就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得可能是整形数组没有初始化,造成空值异常。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的数组都没有设置大小
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把异常的内容发出来吧,那里指出了是什么错误。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |