如何从Java中的命令行参数获取2D数组输入?

时间:2018-07-15 05:43:18

标签: java arrays

我必须从命令行获取输入并将它们分配给2X2阵列。

Input = 1 2 3 4 (from cmd line)
output = 1 2 
         3 4


  int a[][] = new int[2][2];
        // taking 2D array inputof size 2X2 from cmdline
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a[i].length;j++){
                int n = Integer.parseInt(args[i]);
                a[i][j] = n;
          }
        }
        for(int i=0;i<args.length;i++){
            for(int j=0;j<a[0].length;j++){
                System.out.print(a[i][j]+" ");
          }
       }

但是得到的输出为:

1 1 
2 2 

3 个答案:

答案 0 :(得分:1)

您可以做类似的事情

public static void main(String[] args)
{
    int a[][] = new int[2][2];

    for(int i=0; i<2; ++i)
    {
        for(int j=0; j<2; ++j)
        {
            a[i][j]=Integer.parseInt(args[2*i+j]);
        }
    }
}

其中命令行参数将存储在数组args中。使用parseInt()将字符串转换为数字。

2*i+j用于获取到args数组的适当索引。

适当的异常处理也应该添加到此。

像打印结果一样

for(int i=0; i<2; ++i)
{
     for(int j=0; j<2; ++j)
     { 
          System.out.println(a[i][j]+" ");
     }
}

答案 1 :(得分:0)

app.get('*', (req, res) => {
   let pageCalled = req.originalUrl;
   let page = pageCalled.replace(' ', '').replace(/\//g, '');

   if (page === '') page = 'index';

   if (fs.exists(`./views/pages/${page}.hbs`)) {
       res.render(`pages/${page}`);
   } else {
       res.render(`pages/404`);
}})

答案 2 :(得分:0)

# get all the questions used in the quiz instance (I'm certain there are only 3)
preguntas = self.diagnostico.preguntas_usadas.all()

# assign individually corresponding Respuesta (answer) instances (This is kinda simulating a user's choice
preguntas[0].respuesta = Respuesta.objects.get(pk=2)
preguntas[1].respuesta = Respuesta.objects.get(pk=5)
preguntas[2].respuesta = Respuesta.objects.get(pk=14)

# I iterate over the queryset to save it and reload it for future use
for pregunta in preguntas:
    pregunta.save(update_fields=['respuesta']) #saving
    pregunta.refresh_from_db() # supposedly refresh?? But I don't know what I'm doing wrong...
    print(pregunta.respuesta) # this returns None everytime. I've made sure the Respuesta objects above do exist