为什么这不起作用(Java)? (数组为int类型的Arraylist)

时间:2012-05-19 02:06:56

标签: java arrays arraylist int

我正在开发的这个applet的正确代码是什么?我只需要在Arraylist中添加int类型的数组......粗体是主要问题(如果其余的工作...... -__-)!

import java.applet.Applet;
import java.awt.*; 
import java.awt.event.*; 
import java.applet.*; 
import javax.swing.*; 
import java.text.DecimalFormat;
import java.util.ArrayList;
public class BinomialExpander extends JApplet implements ActionListener 
{ 
     JLabel lblFahrenheit; 
     JLabel lblCelsius; 
     JLabel outputCelsius; 
     JTextField txtFahrenheit; 
     double degreesFahrenheit; 
     FlowLayout layout;
     ArrayList<int[]> pascalsT = new ArrayList<int[]>();
     private int[] pascal1 = {1,1};
     private int[] pascal2 = {1,2,1};
     private int[] pascal3 = {1,3,3,1};
     private int[] pascal4 = {1,4,6,4,1};
     private int[] pascal5 = {1,5,10,10,5,1};
     private int[] pascal6 = {1,6,15,20,15,6,1};
     private int[] pascal7 = {1,7,21,35,35,21,7,1};
     private int[] pascal8 = {1,8,28,56,70,56,28,8,1};
     private int[] pascal9 = {1,9,36,84,126,84,36,9,1};
     private int[] pascal10 = {1,10,45,120,210,120,45,10,1};
...
}

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你只想将数组值放入列表中。

在所有声明后添加以下内容:

{
    pascals.add(pascal1);
    pascals.add(pascal2);
    ...
}

或者,您可以在构造函数中添加这些语句。这种特殊的语法就是所谓的实例初始化器。它在你的构造函数之前运行,你可以在类中的任何地方运行它们,它将按照声明的顺序运行。实际上,您可以将它们与变量声明交错,但我相信变量必须在引用它的实例初始值设定项之上声明。

作为旁注,让一个具有赋值的实例变量是必不可少的。

private Integer a = new Integer(1);

在功能上与

相同
private Integer a;
{ a = new Integer(1); }

答案 1 :(得分:-2)

Array to ArrayList转换以这种方式完成,试试这个:

int[] a = {1,2,3};

List list = new ArrayList(Arrays.asList(a));