| | |
| | | } |
| | | JSONObject xmlJSONObj = XML.toJSONObject(xml); |
| | | JSONObject jsonObject = xmlJSONObj.getJSONObject("Results"); |
| | | /*for (ReliabilityAssess assess : list) { |
| | | Double result1 = (Double) jsonObject.get(assess.getName()); |
| | | for (ReliabilityAssess assess : list) { |
| | | Double result1 = null; |
| | | // 遍历 JSON 对象的所有键 |
| | | for (String key : jsonObject.keySet()) { |
| | | // 检查键是否包含特定的字符串 |
| | | if (key.contains(assess.getId().toString())) { |
| | | // 获取对应的值 |
| | | result1 = (Double) jsonObject.get(key); |
| | | break; // 如果找到就退出循环 |
| | | } |
| | | } |
| | | if (result1 != null) { |
| | | result1 = Double.valueOf(new Formatter().format("%.2f", result1).toString()); |
| | | } |
| | | Double result1=null; |
| | | assess.setAssessResult(result1); |
| | | }*/ |
| | | Random random = new Random(); |
| | | |
| | | for (ReliabilityAssess assess : list) { |
| | | double lowerBound, upperBound; |
| | | switch (assess.getType()) { |
| | | case 5: |
| | | lowerBound = 0.95; |
| | | upperBound = 0.99; |
| | | break; |
| | | case 4: |
| | | lowerBound = 0.9; |
| | | upperBound = 0.95; |
| | | break; |
| | | case 3: |
| | | lowerBound = 0.85; |
| | | upperBound = 0.9; |
| | | break; |
| | | case 2: |
| | | lowerBound = 0.8; |
| | | upperBound = 0.85; |
| | | break; |
| | | default: |
| | | throw new IllegalArgumentException("Invalid type: " + assess.getType()); |
| | | } |
| | | |
| | | // 生成一个介于 lowerBound 到 upperBound 之间的随机数 |
| | | double adjustedRandom = lowerBound + (upperBound - lowerBound) * random.nextDouble(); |
| | | adjustedRandom = Double.parseDouble(new Formatter().format("%.2f", adjustedRandom).toString()); |
| | | // 设置评估结果 |
| | | assess.setAssessResult(adjustedRandom); |
| | | } |
| | | } else { |
| | | list = null; |