Java:将矩阵转换为列表:我的add方法不起作用,我也不知道为什么

时间:2019-04-12 14:44:01

标签: java sorting matrix

我继续遇到错误,提示我的添加方法未找到合适的方法。该程序的目标是将矩阵的所有值都放入一个列表中,但我无法使其正常工作,因为它不断在此行给我一个错误:

list.add(mat[i][j]);

整个代码如下:

List<Integer> go(int[][] mat) 
{
    ArrayList<String> list = new ArrayList<String>();
    for (int i = 0; i < mat.length; i++) 
    {
        for (int j = 0; j < mat[i].length; j++) 
        {
            list.add(mat[i][j]);
        }
    }
    return list;
}

2 个答案:

答案 0 :(得分:1)

您的函数返回一个List<Integer>,但是您的list对象被声明为ArrayList<String>,您正在尝试向其中添加mat[i][j]。此外,mat[i][j]本身就是int,因此list应该是ArrayList<Integer>

答案 1 :(得分:0)

// *** Declared at module scope
let subject = "Your Subject Will Appear Here";
let message = "Your Message Will Appear Here";

app.get('/', function (req, res) {
  // *** Not declared here
  res.render("index", {subject:subject, message:message});
})

// ...

app.post('/', (req, res) => {
  let body = ''
  req.on('data', (chunk) => {
    body += chunk.toString()
  })  
  req.on('end', () => {
    let payload = JSON.parse(body)
    if (payload.Type === 'Notification') {
      console.log(payload.Message);
      subject = payload.Subject; // <======= *** no `let`, we're not declaring here
      message = payload.Message; // <======= *** same
      res.render("index", {subject:subject, message:message});
    }
  });
});

字符串而不是整数。更好的样式是让变量已经是列表。

立即保留适当数量的列表条目是一种优化:在添加值期间不调整大小,并且不保留太多空间。

实际上,线性数组也可能是一种选择。