将测试库文件读入2D Array

时间:2016-12-27 12:42:01

标签: java arrays

我正在尝试编写一个Java程序,它将测试库文件读取到2D数组。测试库的格式类似于this。这是一个示例:

let status_vals = [ "failure", "warn", "completed" ];

let arr = [
  {"status":"failure","name":"one","run":1},
  {"status":"failure","name":"two","run":2},
  {"status":"warn","name":"three","run":1},
  {"status":"warn","name":"four","run":2},
  {"status":"completed","name":"five","run":1}
];

function sortIt ( status_arr, sort_arr ) {

  let sorted_arr = [];
  status_arr.forEach ( d => {
    let temp = arr.filter ( obj => {
      return obj.status === d;
    } );  

    var length = temp.length;
    for ( var i = 0; i < length; i++ ) {
      if ( temp [ 0 ].run > temp [ i ].run ) {
        temp.push ( temp.shift ( ) );
      }
    }

    sorted_arr = [ ...sorted_arr, ...temp ];
  } );

  return sorted_arr;
}

sortIt ( status_vals, arr );

测试银行有很多问题。

我正在尝试将问题放在数组的第一维和第二维的答案中,有4个答案,正确的答案字母在选择之后。

问题是我想为问题,答案和正确的字母分配变量,但我不知道从哪里开始! :(

我想先找一个方法来读取文件,然后分配一个变量,有这样的东西吗?

编辑: 这是教师提供的一些信息 picture about the test bank

谢谢大家。

1 个答案:

答案 0 :(得分:1)

  

问题是我想为问题和答案以及正确的字母分配变量

您应该修改您的设计。您需要一个[问题(字符串),4个答案选项(字符串)和正确答案索引]的列表。这不适合二维数组所以:

您可以按照以下步骤开始:

class Question
{
    String text;
    List<String> answerChoice;
    int answerIndex;
}

现在,您可以拥有List<Question>