java - 错误: variable sblst is already defined in method generate(int) but no error for ForLoop

标签 java list arraylist compiler-errors

对于下面的代码,我收到错误“第 12 行:变量 sblst 已在方法生成(int)中定义”。我尝试修改下面的代码,当我使用不同的名称声明第二个和第三个列表时,我没有收到错误。我是java新手,不明白这里发生了什么。我的问题是,在 while 循环中,列表被声明多次,但没有收到相同的错误。

class Solution {
    public List<List<Integer>> generate(int numRows) {

    if(numRows==0) return new ArrayList<List<Integer>>(0);

    List<List<Integer>> lst = new ArrayList<List<Integer>>();  //check list
    List<Integer> sblst = new ArrayList<Integer>(); 


    if(numRows>=1) sblst.add(1); lst.add(sblst);          //i=0
    if(numRows==1) return lst;
    List<Integer> sblst = new ArrayList<Integer>(); 
    if(numRows>=2) sblst.add(1); sblst.add(1); lst.add(sblst);            //i=1
    if(numRows==2)   return lst;

    int i=2;

    while(i<numRows){

    List<Integer> sblst = new ArrayList<Integer>(0); 
    sblst.add(1);
    int j=1;
    while(j<i){    
    int element = lst.get(i-1).get(j-1)+lst.get(i-1).get(j) ;
    sblst.add(element);
    j++;
    }
    sblst.add(1);
    lst.add(sblst);
    i++;
    }

    return lst;
    }
    }

最佳答案

在一个方法中,您指定 sblst 两次:

List<Integer> sblst = new ArrayList<Integer>(0); 

如果您确实需要两个列表,则应重命名其中一个。

关于java - 错误: variable sblst is already defined in method generate(int) but no error for ForLoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50435404/

相关文章:

Java/Swing/Maven : no main manifest attribute

python - 给定两个相同长度的 python 列表。如何返回相似值的最佳匹配?

c# - 将arraylist写入文本文件C#

java - 如何在Java中通过用户输入搜索特定列?

c# - 在 C# 中将一个数组列表数据移动到另一个数组列表

java - Wildfly/Hibernate 查询结果无法返回持久化实体

java - 将字符串解析为 Double 时出现数字格式异常

Python:列表列表到字典

java - Hibernate 4 Spring 4 无法获取当前线程的事务同步 session

javascript - 使用 jQuery 创建扩展列表时遇到问题