兄弟姐妹们帮个忙

yacp12 2007-01-18 04:38:34
一个JSP程序,我得到了4个变量的值,现在放在数组X[]={a,b,c,d}中,a,b,c,d分别对应粘液质、胆汁质、抑郁质、多血质。以下为我的算法(在JSP中)
<%
int i,j,max,x[]={a,b,c,d};
for(j=1;j<4;j++)
for(i=0;i<3;i++)
if(x[i]<x[i+1]) {max=x[i];x[i]=x[i+1];x[i+1]=max;}
//以上实现排序:数组值由大到小;但对应类型已改变

要求是:
如果某类气质得分明显高出其他三种,均高出4分以上。则可定为该类气质。
如果两种气质得分接近,其差异低于3分,而且又明显高于其它两种,高出4分以上,则可定为这两种气质的混合型。
三种气质得分接近,其差异低于3分,而且又明显高于其它一种,高出4分以上,则可定为这三种气质的混合型。
如果四种分数都不高且相近(<3),则为4种气质的混合型。
//下面为问题所在,
if(x[0]-x[3]<3)
out.println("你的气质类型是这多血质,胆汁质,抑郁质,粘液质混合型");
else
if(x[0]-x[1]>4)
{if(x[0]==a) out.println("你的气质类型是粘液质");
if(x[0]==b) out.println("你的气质类型是胆汁质");
if(x[0]==c) out.println("你的气质类型是抑郁质");
if(x[0]==d) out.println("你的气质类型是多血质");}
else
if(x[1]-x[2]>4)
{if(x[0]==a)
{
if(x[1]==b) out.println("你的气质类型是粘液质,胆汁质");
if(x[1]==c) out.println("你的气质类型是粘液质,抑郁质");
if(x[1]==d) out.println("你的气质类型是粘液质,多血质");}
if(x[0]==b)
{
if(x[1]==a) out.println("你的气质类型是胆汁质,粘液质");
if(x[1]==c) out.println("你的气质类型是胆汁质,抑郁质");
if(x[1]==d) out.println("你的气质类型是胆汁质.多血质");}
if(x[0]==c)
{
if(x[1]==a) out.println("你的气质类型是抑郁质,粘液质");
if(x[1]==b) out.println("你的气质类型是抑郁质,胆汁质");
if(x[1]==d) out.println("你的气质类型是抑郁质,多血质");}
if(x[0]==d)
{
if(x[1]==a) out.println("你的气质类型是多血质,粘液质");
if(x[1]==b) out.println("你的气质类型是多血质,胆汁质");
if(x[1]==c) out.println("你的气质类型是多血质,抑郁质");}
}
else
if(x[2]-x[3]>4)
{if(x[3]==a)
out.println("你的气质类型是多血质,胆汁质,抑郁质");
if(x[3]==b)
out.println("你的气质类型是多血质,粘液质,抑郁质");
if(x[3]==c)
out.println("你的气质类型是多血质,胆汁质,粘液质");
if(x[3]==d)
out.println("你的气质类型是粘液质,胆汁质,抑郁质");
}
我运行了后,有时客户端不显示结果(只是有时哈),而且我觉的这个程序一定有问题,不知道哪位高手能否给小弟一个更好的算法,就在这里先谢谢各位了。
...全文
152 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧