对新冠肺炎病毒自助检测判断逻辑,采用决策表方法设计测试用例,并编写程序测试之。对于实现的程序,生成控制流图,并确定其圈复杂度。
public class work4 {
public static int classify(int[][] a) {
String[] b= {
"建议立刻发热门诊就诊,并且佩戴好口罩做好防护。佩戴医用外科口罩或N95口罩,避免乘坐公共交通工具。",
"结合你提供的病情症状及接触史特点,建议继续在家监测体温,可适当服用治疗感冒的中成药,注意手卫生,多饮水,休息为主。若体温持续不退或体温大于38℃或不适症状加重,及时就诊。",
"建议你们全家及密切接触者居家隔离至少2周,在家期间建议戴口罩交流,条件允许时,尽量单独居住或居住在通风良好的单人房间。多休息,多饮水,注意手卫生和常用物品卫生消毒。若出现发热及呼吸道症状,需马上前往医院就诊。",
"建议您戴口罩、勤洗手,避免人群聚集,减少不必要外出。"
};
//System.out.println("1.锟斤拷始症状锟缴硷拷");
System.out.println("是否有以下症状?");
System.out.println("1发热、2咽喉痛、3咳嗽、4鼻塞、5流鼻涕、6胸闷、7气急、8呼吸困难、9全身酸痛、10乏力、11腹泻、0都没有");
if(a[0][0]==0) {
if(a[7][0]==0) {
System.out.println(b[3]);
return 3;
}else {
System.out.println(b[2]);
return 2;
}
}
for(int i=0;i<11;i++) {
if(a[0][i]==-1) {
break;
}
switch(a[0][i]) {
case 1:
System.out.println("目前体温是多少?");
if(a[1][0]==0) {
System.out.println("<37.3℃");
}else {
System.out.println("≥37.3℃");
}
System.out.println("最高体温是多少?");
float tem=(float)a[1][1]/10;
System.out.println(tem+"℃");
System.out.println("发热时有没有以下情况?");
if(a[1][2]==0) {
System.out.println("发热体温持续不退");
}else if(a[1][2]==1) {
System.out.println("体温一直大于38℃");
}else if(a[1][2]==2) {
System.out.println("都没有");
}
System.out.println("发热后有没有吃退热药?");
if(a[1][3]==0) {
System.out.println("有吃退热药");
}else if(a[1][3]==1) {
System.out.println("没有吃退热药");
}
System.out.println("吃退热药后的体温情况是?");
if(a[1][4]==0) {
System.out.println("体温下降");
}else if(a[1][4]==1) {
System.out.println("体温下降又升高");
}else if(a[1][4]==2) {
System.out.println("体温没有下降");
}
break;
case 3:
System.out.println("有没有咳痰?");
if(a[2][0]==0) {
System.out.println("没");
}else if(a[2][0]==1) {
System.out.println("有");
}
break;
case 6:
System.out.println("有没有胸闷加重?");
if(a[3][0]==0) {
System.out.println("没");
}else if(a[3][0]==1) {
System.out.println("有");
}
break;
case 7:
System.out.println("有没有气急加重?");
if(a[4][0]==0) {
System.out.println("没");
}else if(a[4][0]==1)