请教各位高手,最好有代码例子,万分感谢!
1,如何写下面的判断,可能出现的情况太多了(以下5门课程成绩出错不一定是(语文、数学、物理、化学、生物),可能是(政治、数学、物理、化学、生物)),感觉使用if else好像不能满足要求。2,如何动态的将多个json的输出放在一个json数组中。
前提条件:username输入错误,六门课程(可能根据情况增加或减少)成绩(语文、数学、物理、化学、生物、政治)一门或多门输入错误。
1,username输入错误,一门课程(语文)成绩输入错误。
json结果输出:
{"result":[{"userid":001,"username":"李明"},{"coursid":001,"coursename":"语文成绩"}]} 2,username输入错误,二门课程(语文、数学)成绩输入错误。
json结果输出:
{"result":[{"userid":001,"username":"李明"},{"coursid":001,"coursename":"语文成绩"},{"coursid":002,"coursename":"数学成绩"}]} 3,username输入错误,三门课程(语文、数学、物理)成绩输入错误。
json结果输出:
{"result":[{"userid":001,"username":"李明"},{"coursid":001,"coursename":"语文成绩"},{"coursid":002,"coursename":"数学成绩"},{"coursid":003,"coursename":"物理成绩"}]} 4,username输入错误,四门课程(语文、数学、物理、化学)成绩输入错误。
json结果输出:
{"result":[{"userid":001,"username":"李明"},{"coursid":001,"coursename":"语文"},{"coursid":002,"coursename":"数学成绩"},{"coursid":003,"coursename":"物理成绩"},{"coursid":004,"coursename":"化学成绩"}]} 5,username输入错误,五门课程(语文、数学、物理、化学、生物)成绩输入错误。
json结果输出:
{"result":[{"userid":001,"username":"李明"},{"coursid":001,"coursename":"语文成绩"},{"coursid":002,"coursename":"数学成绩"},{"coursid":003,"coursename":"物理成绩"},{"coursid":004,"coursename":"化学成绩"},{"coursid":005,"coursename":"生物成绩"}]} 6,username输入错误,六门课程(语文、数学、物理、化学、生物、政治)成绩输入错误。
json结果输出:
username与语文、数学成绩输入错误,结果输出:{"result":[{"userid":001,"username":"李明"},{"coursid":001,"coursenam":"语文成绩"},{"coursid":002,"coursenam":"数学成绩"},{"coursid":003,"coursename":"物理成绩"},{"coursid":004,"coursename":"化学成绩"},{"coursid":005,"coursename":"生物成绩"},{"coursid":006,"coursename":"政治成绩"}]} 

解决方案 »

  1.   

    谢谢cainiaophper的回复,不好意思,是我没有表述清楚,简单的说:1个username +  6门课程成绩,结果可能有N种,每一种组合的结果都需要做输出,不太清楚怎么做判断以及结果怎么输出到json数组。
      

  2.   

    用if ... else ..  不能解决吗?
      

  3.   

    什么叫 username输入错误 ?
      

  4.   

    把思路换一下,平行判断肯定要算排列组合,复杂很多,改为二层判断就简单了
    6个条件都满足“username输入错误”,所以先判断这个,如果成立就建一个数组
    然后逐门课程判断,符合“输入错误”条件的就加入这个数组然后再读取这个数组,把username拆出来跟各门成绩并列形成新数组处理成json就不用说了吧
      

  5.   

    谢谢各位,开始考虑的过于复杂,直接把结果保存到数组中,最后统一转成json就可以了。