zoukankan      html  css  js  c++  java
  • 四则运算04

    设计思想:

       使用jsp实现java代码与网页的连接,利用数组实现数据的传输。Session对象页面的跳转功能。

    源代码:

    java源代码:

    import java.text.DecimalFormat;//输出两位小数
    import java.util.Scanner;
    public class test1 {
        static int simplify(int x,int y){
            /*求两数最大公约数,用于分数化简*/
            int t,xx,yy,k=1;
            if(x>y)
            {
                t=x;x=y;y=t;
            }
            for(int i=x;i>=2;i--)
            {
                  xx=x%i;yy=y%i;
                  if(xx==0&&yy==0)
                  {
                      k=i;
                      break;
                  }     
                }
            return k;
        }
        
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            int a1,a2,b1,b2,k;
            int count=0;//统计作对题目个数
            /*控制题目个数*/
            Scanner in=new Scanner(System.in);
            System.out.print("请输入题目个数(>0):");
            int number=in.nextInt();
             /*数值范围*/
            System.out.print("请输入数值所取得最大值(>0):");
            int max=in.nextInt();
            /*判断括号*/
            int backets;
            System.out.print("是否有括号:(0:无  1:有):");
            backets=in.nextInt();
            if(backets==0)//没有括号
            {
                /*控制是否有乘除*/
                System.out.print("是否有乘除法(0:无   1:有):");
                int panduan;
                for(;;)
                {
                    panduan=in.nextInt();
                    if(panduan==0||panduan==1) 
                        break;
                    else
                        panduan=in.nextInt();
                }      
               /*有无余数*/
                int remainder=0;
                if(panduan==1)
                {
                    System.out.print("是否有余数:(0:无  1:有):");
                    remainder=in.nextInt();
                }
               /*算法的实现*/
                for(int i=0;i<number;i++)
                   {
                    int index;
                    if(panduan==0)//没有乘除法
                    {
                        index=(int)(Math.random()*2); 
                    }
                    else//有乘除法
                    {
                        index=(int)(Math.random()*4); //随机产生,控制运算符
                    }
                   a1=(int)(Math.random()*max);
                   a2=(int)(Math.random()*(max-1)+1);
                   b1=(int)(Math.random()*max);
                   b2=(int)(Math.random()*(max-1)+1);
                   k=(int)(Math.random()*2);        //控制是否是整数或分数,随机产生
                   
                   if(k==0)//k=1输出整数运算
                        {
                            if(index==0) //加法运算
                            {
                                System.out.print(a1+"+"+b1+"=");
                                int rs=a1+b1;
                                int result=in.nextInt();
                                if(result==rs)
                                {
                                     count+=1;
                                     System.out.println("回答正确!");
                                }
                                else
                                {
                                     System.out.println("回答错误!");
                                }
                                System.out.println("正确结果是"+rs);
                                     
                            } 
                            if(index==1)//减法运算
                            {
                              //没有负数运算
                                for(;;)
                                {
                                    if(a1<b1)
                                    {
                                        a1=(int)(Math.random()*max);
                                        b1=(int)(Math.random()*max);
                                    }
                                    else 
                                        break;
                                }
                                System.out.print(a1+"-"+b1+"=");
                                int rs=a1-b1;
                                int result=in.nextInt();
                                if(result==rs)
                                {
                                    count+=1;    
                                    System.out.println("回答正确!");
                                }
                                else
                                {
                                    System.out.println("回答错误!");
                                }
                                    System.out.println("正确结果是"+rs);
                                  
                                 
                       }
                       if(index==2)//乘法运算
                       {
                           System.out.print(a1+"*"+b1+"=");
                           int rs=a1*b1;
                           int result=in.nextInt();
                           if(result==rs)
                           {
                               count+=1;    
                               System.out.println("回答正确!");
                           }
                           else
                           {
                               System.out.println("回答错误!");
                           }
                           System.out.println("正确结果是"+rs);
                       }
                       if(index==3)//除法运算
                       {
                           for(;;) //保证是真分数
                           {
                               if(a1>b1||a1==0)
                               {
                                   a1=(int)(Math.random()*max);
                                   b1=(int)(Math.random()*max);
                               }
                               else 
                                   break;
                           }
                           if(remainder==0)
                           {//没有余数
                               for(;;)
                               { //余数不为0.继续生成随机数                            
                                   if(a1!=0)
                                   { //判断分母是否为0
                                       if(b1%a1!=0&&b1<1)
                                       {
                                           a1=(int)(Math.random()*max);
                                           b1=(int)(Math.random()*max);
                                       }                            
                                       else
                                       break;
                                   }
                                  else
                                       a1=(int)(Math.random()*max);
                               }
                           }
                           System.out.print(b1+"/"+a1+"=");
                           String rs;
                           if(b1==0)
                           {
                               rs=0+"";//结果为0,不需要化简
                           }
                           int cd=simplify(b1,a1);
                           b1=b1/cd;a1=a1/cd;                   
                           if(a1==1)
                           {
                               rs=b1+"";   
                           }
                           else 
                           {
                               rs=b1+"/"+a1;
                           }  
                           String result=in.next();
                           if(result.equals(rs))
                           {
                                  count+=1;    
                                  System.out.println("回答正确!");
                           }
                           else
                           {
                               System.out.println("回答错误!");
                           }
                           System.out.println("正确结果是"+rs);
                        }
                    
                }
                else//分数计算
                {  /*保证是真分数*/
                    for(;;)
                    {
                        if(a1<a2)
                        {
                            a1=(int)(Math.random()*max);
                             a2=(int)(Math.random()*(max-1)+1);
                        }
                        else if(b1<b2)
                        {
                            b1=(int)(Math.random()*max);
                            b2=(int)(Math.random()*(max-1)+1);
                        }
                     
                        else
                            break;
                    }
                    for(;;)//保证至少有一个是分数
                    {
                        if(a2==1&&b2==1)
                        {
                            a1=(int)(Math.random()*max);
                             a2=(int)(Math.random()*(max-1)+1);
                             b1=(int)(Math.random()*max);
                             b2=(int)(Math.random()*(max-1)+1);
                          }
                        else
                               break;
                    }
                    int s2=simplify(a1,a2);
                    a1=a1/s2;
                    a2=a2/s2;
                    int s3=simplify(b1,b2);
                    b1=b1/s3;
                    b2=b2/s3;
                    if(index==0)
                    { 
                        /*分母不为1,分情况输出*/
                             if(a2!=1&&b2!=1)
                             {
                                  System.out.print(a1+"/"+a2+"+"+b1+"/"+b2+"=");
                                  int denom=a2*b2; //分母
                                  int molecule=a1*b2+b1*a2;//分子
                                  int cd=simplify(molecule,denom);//最大公约数
                                  denom=denom/cd;
                                  molecule=molecule/cd;
                                  String rs;
                                  if(denom==1)
                                  {
                                      rs=molecule+"";   
                                  }
                                  else 
                                      rs=molecule+"/"+denom;//化简结果
                                  String result=in.next();
                                  if(result.equals(rs))
                                  {
                                      count+=1;    
                                      System.out.println("回答正确!");
                                  }
                                  else
                                  {
                                      System.out.println("回答错误!");
                                  }
                                  System.out.println("正确结果是"+rs);
                             }
                             else if(a2==1)
                             {
                                   System.out.print(a1+"+"+b1+"/"+b2+"=");
                                   int denom=b2; //分母
                                   int molecule=a1*b2+b1;//分子
                                   int cd=simplify(molecule,denom);//最大公约数
                                   String rs;
                                   denom=denom/cd;
                                   molecule=molecule/cd;
                                   if(denom==1)
                                   {
                                        rs=molecule+"";   
                                   }
                                   else 
                                        rs=molecule+"/"+denom;//化简结果
                                   String result=in.next();
                                   if(result.equals(rs))
                                   {
                                       count+=1;    
                                       System.out.println("回答正确!");
                                   }
                                   else
                                   {
                                       System.out.println("回答错误!");
                                   }
                                   System.out.println("正确结果是"+rs);
                              }
                              else if(b2==1)
                              {
                                   System.out.print(a1+"/"+a2+"+"+b1+"=");
                                   int denom=a2; //分母
                                   int molecule=a1+b1*a2;//分子
                                   int cd=simplify(molecule,denom);//最大公约数
                                   denom=denom/cd;
                                   molecule=molecule/cd;
                                   String rs;
                                   if(denom==1)
                                   {
                                        rs=molecule+"";   
                                   }
                                   else 
                                        rs=molecule+"/"+denom;//化简结果
                                   String result=in.next();
                                   if(result.equals(rs))
                                   {
                                        count+=1;    
                                        System.out.println("回答正确!");
                                   }
                                   else
                                   {
                                        System.out.println("回答错误!");
                                   }
                                   System.out.println("正确结果是"+rs);
                               }
                    }
                    if(index==1)//减法运算
                    {
                        for(;;)//保证结果是真分数
                        {
                            if(a1/a2-b1/b2<1)
                            {
                                a1=(int)(Math.random()*max);
                                 a2=(int)(Math.random()*(max-1)+1);
                                 b1=(int)(Math.random()*max);
                                 b2=(int)(Math.random()*(max-1)+1);
                            }
                            else
                                break;
                        }
                        if(a1/a2-b1/b2<0)//控制结果为正数
                        {
                            int t1,t2;
                            t1=a1;a1=b1;b1=t1;
                            t2=a2;a2=b2;b2=t2;
                        }
                        if(a2!=1&&b2!=1)
                        {
                            System.out.print(a1+"/"+a2+"-"+b1+"/"+b2+"=");
                            int denom=a2*b2; //分母
                            int molecule=a1*b2-a2*b2;//分子          
                            int cd=simplify(molecule,denom);//最大公约数
                            denom=denom/cd;
                            molecule=molecule/cd;
                            String rs;
                            if(denom==1)
                            {
                                rs=molecule+"";   
                            }
                            else 
                                rs=molecule+"/"+denom;//化简结果
                                String result=in.next();
                                if(result.equals(rs))
                                {
                                    count+=1;    
                                    System.out.println("回答正确!");
                                }
                                else
                                {
                                    System.out.println("回答错误!");
                                }
                                System.out.println("正确结果是"+rs);
                           }
                           else if(a2==1&&b1!=1)
                           {
                                System.out.print(a1+"-"+b1+"/"+b2+"=");
                                int denom=b2; //分母
                                int molecule=a1*b2-b1;//分子
                             
                                int cd=simplify(molecule,denom);//最大公约数
                                denom=denom/cd;
                                molecule=molecule/cd;
                                String rs;
                                if(denom==1)
                                {
                                    rs=molecule+"";   
                                }
                                else 
                                    rs=molecule+"/"+denom;//化简结果
                                String result=in.next();
                                if(result.equals(rs))
                                {
                                    count+=1;    
                                    System.out.println("回答正确!");
                                }
                                else
                                {
                                    System.out.println("回答错误!");
                                }
                                System.out.println("正确结果是"+rs);
                           }
                           else if(b2==1)
                           {
                                System.out.print(a1+"/"+a2+"-"+b1+"=");
                                int denom=a2; //分母
                                int molecule=a1-a2*b1;//分子
                                int cd=simplify(molecule,denom);//最大公约数
                                denom=denom/cd;
                                molecule=molecule/cd;
                                String rs;
                                if(denom==1)
                                {
                                    rs=molecule+"";   
                                }
                                else 
                                    rs=molecule+"/"+denom;//化简结果
                                String result=in.next();
                                if(result.equals(rs))
                                {
                                    count+=1;    
                                    System.out.println("回答正确!");
                                }
                                else
                                {
                                    System.out.println("回答错误!");
                                }
                                System.out.println("正确结果是"+rs);
                           }
                    
                    }
                    if(index==2)//分数乘法
                    {
                        if(a2!=1&&b2!=1)
                        {
                            System.out.println(a1+"/"+a2+"*"+b1+"/"+b2+"=");
                            int denom=a2*b2; //分母
                            int molecule=a1*b1;//分子
                            int cd=simplify(molecule,denom);//最大公约数
                            denom=denom/cd;
                            molecule=molecule/cd;
                            String rs;
                            if(denom==1)
                            {
                                rs=molecule+"";   
                            }
                            else 
                                rs=molecule+"/"+denom;//化简结果                       
                            String result=in.next();
                            if(result.equals(rs))
                            {
                                count+=1;    
                                System.out.println("回答正确!");
                            }
                            else
                            {
                                System.out.println("回答错误!");
                            }
                            System.out.println("正确结果是"+rs);
                        }
                        else if(a2==1)
                        {
                            System.out.print(a1+"*"+b1+"/"+b2+"=");
                            int denom=b2; //分母
                            int molecule=a1*b1;//分子
                            int cd=simplify(molecule,denom);//最大公约数
                            denom=denom/cd;
                            molecule=molecule/cd;
                            String rs;
                            if(denom==1)
                            {
                                rs=molecule+"";   
                            }
                            else 
                                rs=molecule+"/"+denom;//化简结果                   
                            String result=in.next();
                            if(result.equals(rs))
                            {
                                count+=1;    
                                System.out.println("回答正确!");
                            }
                            else
                            {
                                System.out.println("回答错误!");
                            }
                            System.out.println("正确结果是"+rs);
                        }
                        else if(b2==1)
                        {
                            System.out.print(a1+"/"+a2+"*"+b1+"=");
                            int denom=a2; //分母
                            int molecule=a1*b1;//分子
                            int cd=simplify(molecule,denom);//最大公约数
                            denom=denom/cd;
                            molecule=molecule/cd;
                            String rs;
                            if(denom==1)
                            {
                                rs=molecule+"";   
                            }
                            else 
                                rs=molecule+"/"+denom;//化简结果                   
                            String result=in.next();
                            if(result.equals(rs))
                            {
                                count+=1;    
                                System.out.println("回答正确!");
                            }
                            else
                            {
                                System.out.println("回答错误!");
                            }
                            System.out.println("正确结果是"+rs);
                            
                        }
                    }
                    if(index==3)//分数除法
                    {
                        for(;;)//保证结果是真分数
                        {
                            if((a1/a2)/(b1/b2)<1)
                            {
                                a1=(int)(Math.random()*max);
                                 a2=(int)(Math.random()*(max-1)+1);
                                 b1=(int)(Math.random()*max+1);
                                 b2=(int)(Math.random()*(max-1)+1);
                            }
                            else
                                break;
                        }
                        if(a2!=1&&b2!=1)
                        {
                            for(int kk=0;;)
                            { //余数不为0.继续生成随机数                            
                                 if(b1==0)
                                 {   //判断分母是否为0
                                     b1=(int)(Math.random()*max);
                                 }
                                 else 
                                     break;
                            }
                            System.out.print("("+a1+"/"+a2+")"+"/"+"("+b1+"/"+b2+")"+"=");
                            int denom=a2*b1; //分母
                            int molecule=a1*b2;//分子
                            
                            int cd=simplify(molecule,denom);//最大公约数
                            denom=denom/cd;
                            molecule=molecule/cd;
                            String rs;
                            if(molecule==0)
                            {
                                rs=0+"";
                            }
                            if(denom==1)
                            {
                                rs=molecule+"";   
                            }
                            else 
                                rs=molecule+"/"+denom;//化简结果                   
                            String result=in.next();
                            if(result.equals(rs))
                            {
                                count+=1;    
                                System.out.println("回答正确!");
                            }
                            else
                            {
                                System.out.println("回答错误!");
                            }
                            System.out.println("正确结果是"+rs);
                        }
                        else if(a2==1&&a1!=0)
                        {
                            System.out.print(a1+"/"+"("+b1+"/"+b2+")"+"=");
                            int denom=b1; //分母
                            int molecule=a1*b2;//分子
                            int cd=simplify(molecule,denom);//最大公约数
                            denom=denom/cd;
                            molecule=molecule/cd;
                            String rs;
                            if(denom==1)
                            {
                                rs=molecule+"";   
                            }
                            else 
                                rs=molecule+"/"+denom;//化简结果                   
                            String result=in.next();
                            if(result.equals(rs))
                            {
                                count+=1;    
                                System.out.println("回答正确!");
                            }
                            else
                            {
                                System.out.println("回答错误!");
                            }
                            System.out.println("正确结果是"+rs);
                        }
                        else if(b2==1&&b1!=0)
                        {
                            System.out.print("("+a1+"/"+a2+")"+"/"+b1+"=");
                            int denom=a2*b1; //分母
                            int molecule=a1;//分子
                            int cd=simplify(molecule,denom);//最大公约数
                            denom=denom/cd;
                            molecule=molecule/cd;
                            String rs;
                            if(denom==1)
                            {
                                rs=molecule+"";   
                            }
                            else 
                                rs=molecule+"/"+denom;//化简结果                   
                            String result=in.next();
                            if(result.equals(rs))
                            {
                                count+=1;    
                                System.out.println("回答正确!");
                            }
                            else
                            {
                                System.out.println("回答错误!");
                            }
                            System.out.println("正确结果是"+rs);
                        }
                    }
                    
                }
            }        
        }
        else//有括号
        {
            int szgs,fhgs,x,z,y;//szgs数字个数 fhgs符号个数
            double result;//结果    
            int sz[]=new int[20];//数字数组
            char fh[]=new char[10];//字符数组
            char operate[]={'+','-','*','/'};
            for(int p=0;p<number;p++)
            {
                szgs=(int)(Math.random()*2+3);//生成3-4个数字
                fhgs=szgs-1;//字符个数比数字少1
                float rs[]=new float[20];
                float c;String s;
                char op[]=new char[10];//储存字符
                for(y=0;y<szgs;y++)
                {
                    sz[y]=(int)(Math.random()*max+1);//随机生成数
                }
                for(y=0;y<fhgs;y++)
                {
                    x=(int)(Math.random()*4);//产生0~3的随机数  控制字符
                    fh[y]=operate[x];
                }
                fh[fhgs]='=';
                if(fhgs%2==0)//偶数个运算符
                {
                    System.out.print(sz[0]);System.out.print(fh[0]);    
                    rs[0]=sz[0];op[0]=fh[0];
                    int d=1;
                    for(y=1;y<fhgs;y++)
                    {
                        System.out.print("(");
                        if(fh[y]=='/'||fh[y]=='-') //判断是否是真分数和负数
                        {
                            if(sz[y]<sz[y+1])
                            {//交换
                                int temp;
                                temp=sz[y];
                                sz[y]=sz[y+1];
                                sz[y+1]=temp;
                                System.out.print(sz[y]);
                                System.out.print(fh[y]);
                                System.out.print(sz[y+1]);
                            }
                            else
                            {
                                System.out.print(sz[y]);
                                System.out.print(fh[y]);
                                System.out.print(sz[y+1]);
                            }
                         }
                         else
                         {
                             System.out.print(sz[y]);
                             System.out.print(fh[y]);
                             System.out.print(sz[y+1]);        
                         }
                         System.out.print(")");    
                         if(fh[y]=='+')
                         {
                             rs[d]=sz[y]+sz[y+1];
                         }
                         else if(fh[y]=='-')
                         {
                             rs[d]=sz[y]-sz[y+1];
                         }
                         else if(fh[y]=='*')
                         {
                            rs[d]=sz[y]*sz[y+1];
                            
                         }
                         else if(fh[y]=='/')
                         {
                             c=(float)sz[y]/sz[y+1]; 
                             DecimalFormat df = new DecimalFormat("0.00");//格式化小数   
                             s = df.format(c);//返回的是String类型 
                             rs[d] = Float.valueOf(s);
                         }
                         System.out.print(fh[y+1]);
                         op[d]=fh[y+1];
                         y=y+1;     
                         d=d+1;
                 }
                  //先算乘除
                for(d=0;d<fhgs/2;d++)
                {
                    if(op[d]=='*')
                    {
                        rs[d]=rs[d]*rs[d+1];
                        rs[d+1]=0;
                        op[d]='+';
                    }
                    if(op[d]=='/')
                    {
                         c=(float)rs[d]/rs[d+1]; 
                         DecimalFormat df = new DecimalFormat("0.00");//格式化小数   
                         s = df.format(c);//返回的是String类型 
                         rs[d] = Float.valueOf(s);
                         rs[d+1]=0;
                         op[d]='+';
                    }
                    
                } 
                float sum=rs[0];
                //后算加减
                for(int ii=0;ii<fhgs/2;ii++)
                {
                    if(op[ii]=='+')
                    {
                        sum=sum+rs[ii+1];
                    }
                    if(op[ii]=='-')
                    {
                        sum=sum-rs[ii+1];
                    }
                }
                result=in.nextDouble(); 
                if(result==sum)
                {
                    System.out.println("回答正确!");
                    count++;
                }
                else 
                    System.out.println("回答错误!");
                 System.out.println("正确结果:"+sum);
           }
           else//奇数运算符
           {
               int id=0;
               for(y=0;y<fhgs;y++)
               {
                   System.out.print("("); 
                   if(fh[y]=='/'||fh[y]=='-') //判断是否是真分数和负数
                   {
                       if(sz[y]<sz[y+1])
                       {
                           int temp;
                           temp=sz[y];
                           sz[y]=sz[y+1];
                           sz[y+1]=temp;
                           System.out.print(sz[y]);
                           System.out.print(fh[y]);
                           System.out.print(sz[y+1]);
                       }
                       else
                       {
                           System.out.print(sz[y]);
                           System.out.print(fh[y]);
                           System.out.print(sz[y+1]);
                       }
                    }
                    else
                    {                    
                        System.out.print(sz[y]);
                        System.out.print(fh[y]);
                        System.out.print(sz[y+1]);
                    }
                    System.out.print(")");
                    //计算括号里的结果
                    if(fh[y]=='+')
                    {
                        rs[id]=sz[y]+sz[y+1];
                    }
                    else if(fh[y]=='-')
                    {
                        rs[id]=sz[y]-sz[y+1];
                    }
                    else if(fh[y]=='*')
                    {
                        rs[id]=sz[y]*sz[y+1];
                    }
                    else if(fh[y]=='/')
                    {
                         c=(float)sz[y]/sz[y+1]; 
                         DecimalFormat df = new DecimalFormat("0.00");//格式化小数   
                         s = df.format(c);//返回的是String类型 
                         rs[id] = Float.valueOf(s);
                    }
                    System.out.print(fh[y+1]);
                    op[id]=fh[y+1];
                    y=y+1;
                    id=id+1;
                } 
               
                //先算乘除
                for(id=0;id<fhgs/2;id++)
                {
                    if(op[id]=='*')
                    {
                        rs[id]=rs[id]*rs[id+1];
                        rs[id+1]=0;
                        op[id]='+';
                    }
                    if(op[id]=='/')
                    {
                         c=(float)rs[id]/rs[id+1]; 
                         DecimalFormat df = new DecimalFormat("0.00");//格式化小数   
                         s = df.format(c);//返回的是String类型 
                         rs[id] = Float.valueOf(s);
                         rs[id+1]=0;
                         op[id]='+';
                    }
                    
                } 
                float sum=rs[0];
                //后算加减
                for(int ii=0;ii<fhgs/2;ii++)
                {
                    if(op[ii]=='+')
                    {
                        sum=sum+rs[ii+1];
                    }
                    if(op[ii]=='-')
                    {
                        sum=sum-rs[ii+1];
                    }
                }
                result=in.nextDouble();    
                if(result==sum)
                {
                    System.out.println("回答正确!");
                    count=count+1;
                }
                else 
                    System.out.println("回答错误!");
                System.out.println("正确结果:"+sum);
          }
         }
                    
        }
            System.out.println("计算正确的个数:"+count);
        }
    }
    
        

    运行结果:

    MyHtml.html

    <!DOCTYPE html>
     <html>
       <head>
         <title>首页</title>
         <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
         <meta name="keywords" content="keyword1,keyword2,keyword3">
         <meta name="description" content="this is my page">
        
         
         <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
     <style type="text/css">
        h1{
           font-family:华文新魏;
           font-size:50px;
          }
     </style>
       </head>
       
       <body background="image/64.jpg">
       <h1 align="center">四则运算</h1>
       <!-- 传递参数的值给index.jsp处理 -->
       <form action="index.jsp" method="post">
      
         <div align="center"><br>
         <span class="STYLE2">题目个数:
           <input name="number" type="radio" value="20" checked>
           20
           <input type="radio" name="number" value="40">
           40
           <input type="radio" name="number" value="60">
           60
           <input type="radio" name="number" value="80">
           80
           <input type="radio" name="number" value="100">
           100
           <br>
         <br>
           请选择范围最大值:
           <input name="max" type="radio" value="10" checked>
           10
           <input type="radio" name="max" value="30">
           30
           <input type="radio" name="max" value="50">
           50
           <input type="radio" name="max" value="70">
           70
           <input type="radio" name="max" value="100">
           100
           <br>
         <!-- 多项选择,值可以有多个,在jsp中用数组保存 -->
         <br>
           是否有括号:(0:无  1:有):
           <input type="radio" name="backets" value=0>
           0
           <input type="radio" name="backets" value=1>
           1
           <br>
         <br>
           是否有乘除:(0:无  1:有):
           <input type="radio" name="c" value=0>
           0
           <input type="radio" name="panduan" value=1>
           1
           <br>
         <br>
           是否有余数:(0:无  1:有):
           <input type="radio" name=" remainder" value=0>
           0
           <input type="radio" name=" remainder" value=1>
           1     </span>
    	   <br>
           <br>
            <input type="submit" name="submit" value="确定" >
       </form>
       </body>
     </html>
    

     index.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
      pageEncoding="utf-8"%>
     <%@ page import="test5.*"%>
     <%
    String path = request.getContextPath();
     String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
     %>
    
     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     <html>
       <head>
         <base href="<%=basePath%>">
         
         <title>答题</title>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
         <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
         <meta http-equiv="description" content="This is my page">
         <!--
         <link rel="stylesheet" type="text/css" href="styles.css">
         -->
      </head>
       
       <body background="images/A2.jpg">
     
        <%
       String[] s=new String[30];
       float k[]=new float[30];
        Calculate a=new Calculate();
      
        request.setCharacterEncoding("UTF-8");
        String[] max = request.getParameterValues("max");
       	String[]  backets= request.getParameterValues("backets");
       	String[]  panduan= request.getParameterValues("panduan");
       	String[]  remainder=request.getParameterValues("remainder");
          int  number;
          String str1=String.value(number);
          int max;
          String str2=String.value(max);
          str1=request.getParameter("str1");
          str2=request.getParameter("str2");
          a.SetValue(str1,str2());
           
        for(int i=0;i<number;i++){
           if(backets[i].equals("1"))
            {
                a.SetValue1(1);
            }
            if(panduan[i].equals("1"))
            {
                a.SetValue2(1);
           }
            if(remainder[i].equals("1"))
            {
                a.SetValue3(1);
            }
         }
        
           
       
        %>
        <form action="Myjsp.jsp" method="post">
        <center>
        <%
          a.main();
          float temp;
          String[] se=new String[30];
          for(int i=0;i<30;i++){
         s[i]=a.cs(i);
                se[i]="name";
                se[i]=se[i]+i;
          k[i]=a.css(i);
          out.print("<tr>"+s[i]+"</tr>");
          out.println("<br>");
         
         
        %>   
        <input type="text" name=<%=se[i] %>><br>
        <%
            } 
             session.setAttribute( "v1",s);
             session.setAttribute( "v2",k); 
         %>
         <br><input type="submit" name="submit" value="提交">
          </center>
       </form>
       
       
        
         
       </body>
     </html>
    

    运行结果截图:

     

     

    编程总结:

        所写的java程序要求基本已经完成,但是将代码改成网页并没有实现。在程序嵌入到网页过程中,我们遇到了很多困难,由于所有的代码都卸载主函数中,在分类调用时出现了很多困难,正确结果及用户输 入的结果也没有保存在数组里面,所以在网页中不能传递数组值进行判断。再加上对jsp和session语法掌握不熟悉,虽然参考了网上的已有程序但是并没能实现其功能。

                                                                                                  周活动总结表

                                                                           姓名:杜若憧                            日期 2016/4/8

    听课

    编写代码

    阅读课本

    准备考试

    日总计

    周日

    周一

    50

    50

    周二

    100

    60

    160

    周三

    22

    22

    周四

    30

    30

    周五

    100

    160

    周六

    23

    23

    周总计

    100

    262

    23

    385

                                                                                                     时间记录日志

                                                                                学生:杜若憧                    日期:2016/4/8

                                                                                教师:王建民                    课程:软件工程

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    C

    U

    4/4

    4:32

    7:00

    18

    130

    编程序

    休息

    4/5

    14:00

    16:50

    100

    10

    听课

    课间休息

    19:00

    20:50

    15

    100

    讨论,编程序

    讨论,共同写程序

    聊天

    4/6

    16:30

    18:00

    10+10

    70

    编程序

    作业,玩手机,休息

    4/7

    16:30

    17:30

    10

    50

    编程序

    写报告

    查资料

    4/8

    19:00

    23:00

    30+15+20

    175

    编程序写报告

    停电休息,玩手机,休息

                          

  • 相关阅读:
    STM32关于多线程运行的疑问
    流量校准仪开发日志
    来自一位十余年工作经验的老电子工程师的心里话:该出手时便出手!
    什么是开尔文连接
    node.js
    锂电池充电合集
    UICollectionView 使用 介绍
    UICollectionView 讲解
    sourcetree帮助文档
    使用 Git + Dropbox + SourceTree 做 Source Code Management
  • 原文地址:https://www.cnblogs.com/java-test/p/5371501.html
Copyright © 2011-2022 走看看