在Java中为列表的列表成员赋值
我想让这段代码打印Pascal三角形,我需要将generate()的输出设置为在Java中为列表的列表成员赋值,java,list,arraylist,Java,List,Arraylist,我想让这段代码打印Pascal三角形,我需要将generate()的输出设置为List我一直在苦苦挣扎,主要是因为我不习惯迭代并将值分配给List的List。你能帮我想出解决办法吗?我不是在寻找新奇的解决方案 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class PascalTriangle { public static long biCoeff(int n,
List
我一直在苦苦挣扎,主要是因为我不习惯迭代并将值分配给List的List。你能帮我想出解决办法吗?我不是在寻找新奇的解决方案
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class PascalTriangle {
public static long biCoeff(int n, int k) {
if (n==k) {
return (long) 1;
}
if (n==0) {
return (long) n;
}
return (biCoeff(n-1, k-1)+biCoeff(n-1,k));
}
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> l = new ArrayList<>();
for (int i=0; i<numRows; i++) {
for (int j=0; j<l.get(i).size(); j++) {
l.get(i).add((int) biCoeff(numRows, j));
}
}
return l;
}
public static void main(String[] args){
generate(5);
}
}
您必须先添加
列表
,才能添加项目
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> l = new ArrayList<>();
for (int i=0; i<numRows; i++){
l.add(new List<Integer>()); // add this line
//l.get(i).add((int) biCoeff(numRows, i));
for (int j=0; j<l.get(i).size(); j++) {
l.get(i).add((int) biCoeff(numRows, j));
}
}
return l;
}
公共静态列表生成(int numRows){
列表l=新的ArrayList();
对于(int i=0;i请尝试以下生成方法的代码:
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> l = new ArrayList<List<Integer>>();
for (int i = 0; i < numRows; i++) {
l.add(i, new ArrayList<Integer>());
for (int j = 0; j <= i; j++){
l.get(i).add((int) biCoeff(numRows, j));
}
}
return l;
}
公共静态列表生成(int numRows){
列表l=新的ArrayList();
对于(int i=0;i 对于(int j=0;j)它说:列表是抽象的,不能在您告诉添加的行中实例化,而是选择List
的一个实现:例如:new java.util.ArrayList()
initialize List first.new arrarylist();你知道在每一张纸的末尾打印一张纸的诀窍是什么吗?检查更新的答案。或者请给我你想要的图案。
public static List<List<Integer>> generate(int numRows) {
List<List<Integer>> l = new ArrayList<List<Integer>>();
for (int i = 0; i < numRows; i++) {
l.add(i, new ArrayList<Integer>());
for (int j = 0; j <= i; j++){
l.get(i).add((int) biCoeff(numRows, j));
}
}
return l;
}
import java.util.ArrayList;
import java.util.List;
public class Pascal {
static List<List<Integer>> l = new ArrayList<List<Integer>>();
public static void main(String[] args) {
int noOfRows = 5;
int counter = 0;
List<Integer> list = new ArrayList<Integer>();
list.add(1);
generate(list, counter, noOfRows);
System.out.println(l);
}
public static List<Integer> generate(List<Integer> list, int counter, int noOfRows) {
l.add(list);
List<Integer> tempList = new ArrayList<Integer>();
tempList.add(1);
for (int i = 1; i < list.size(); i++) {
tempList.add(list.get(i) + list.get(i - 1));
}
tempList.add(1);
if (counter != noOfRows)
generate(tempList, ++counter, noOfRows);
return tempList;
}
}