public void actionPerformed(ActionEvent e)
    {
     int temp=0,value1=0,value2=0;
     String s1=input1.getText();
     int i1=Integer.parseInt(s1);
     String s2=input2.getText();
     int i2=Integer.parseInt(s2);
      if(i1>i2)                        //保持 i1>i2
            {temp=i1;i1=i2;i2=temp;};
    
     if(e.getSource()==yue)          //求最大公约数
         {for(int i=i1;i>=i1;i--)
         if(i1%i==0)
             {if(i2%i==0)
               value1=i;} 
         output.setText(" "+value1);
         }
        
      else if(e.getSource()==bei)     //最小公倍数
         {for(int j=i2;j<=i1*i2;j++)
          if(j%i2==0)
              {if(j%i1==0)
               value2=j;
              }   
          output.setText(" "+value2);
         }         
    }
}

解决方案 »

  1.   

    你那个int temp,value1,value2;都没初始化
      

  2.   

    if(i1>i2)                        //保持 i1>i2
                {temp=i1;i1=i2;i2=temp;};
    我看着怎么是保持i2>i1啊
    {if(i2%i==0)
                   value1=i;}                //初始化
             output.setText(" "+value1);
             }
            
          else if(e.getSource()==bei)     //最小公倍数
             {for(int j=i2;j<=i1*i2;j++)
              if(j%i2==0)
                  {if(j%i1==0)
                   value2=j;                  //初始化
      

  3.   

    if(i1>i2)                        //保持 i1>i2    是i2》i1吧??
                {temp=i1;i1=i2;i2=temp;};if(e.getSource()==yue)          //求最大公约数
             {for(int i=i1;i>=i1;i--)/**是不是for(int i=i1;i>=1;i--)??
             if(i1%i==0)
                 {if(i2%i==0)
                   value1=i;} 
             output.setText(" "+value1);
             }
      

  4.   

    只有类的primltive数据成员才有缺省值撒!~在方法里面只声明是不行的。int temp,value1,value2;都没初始化