goto这个关键字在java里面是存在的,但是是不能用的,呵呵

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;public class Mygridbag extends Frame implements ActionListener  
    //这里实现actionlistener接口,不要一个个new ActionListener
    {  
    Button cmdSum, cmdAve, cmdOp;

    Label[] lbl=new Label[5];  
    TextField[] txtF = new TextField[5];
    TextField txtFF;
    GridBagLayout gridBagLayout;
    GridBagConstraints gridBagConstraints; public Mygridbag(String s)
    {
        super(s);
        gridBagLayout = new GridBagLayout();
        setLayout(gridBagLayout);   
        gridBagConstraints = new GridBagConstraints();     //LABEL
    lbl[0] = new Label("    语文:  ");
    lbl[1] = new Label("    数学:  ");
    lbl[2] = new Label("    英语:  ");
    lbl[3] = new Label("    总分:  ");
    lbl[4] = new Label("平均成绩:  ");

    for(int i=0; i<5; i++)
    {
    addComponent(lbl[i], i+1, 1, 1, 1); 


      // TextField
        for(int i=0; i<5; i++)
        {
         txtF[i] = new TextField("", 10);
        }

        for(int i=0; i<3; i++)
        {
         addComponent(txtF[i], i+1, 2, 2, 1); 
        }
        addComponent(txtF[3], 4, 2, 3, 1); 
        addComponent(txtF[4], 6, 2, 3, 1); 
            
        txtFF = new TextField("", 25);  
        addComponent(txtFF, 7, 2, 4, 1); 

    txtF[3].setEnabled(false);
    txtF[4].setEnabled(false);
    txtFF.setEnabled(false);

        //BUTTON                    
    cmdSum = new Button("总分计算");
    cmdAve = new Button("计算平均分"); 
    cmdOp  = new Button("学习评定");
            
        addComponent(cmdSum, 4, 3, 1, 1); 
    addComponent(cmdAve, 5, 3, 1, 1); 
    addComponent(cmdOp , 6, 1, 1, 1); 

    cmdSum.setEnabled(true);
    cmdAve.setEnabled(false);
        cmdOp.setEnabled(false);

        cmdSum.addActionListener(this);  //分别监听action事件
        cmdAve.addActionListener(this);
         cmdOp.addActionListener(this);
      }//构造
     
      
        //独立的actionPerformed方法
        public void actionPerformed(ActionEvent e) 
    {  // 若所有TextField中数据符合要求(是float, 在取值范围内), 
           // 得出结果显示在响应的文本框中; 同时另两个按钮可用.
          
    float F[] = new float[3];
         float sum=0;
         int i;
        
         if(e.getSource()==cmdSum){  // Sum
            
        for ( sum=i=0; i<3; i++)
        {
            if ( IsFloat( txtF[i].getText() ) )
         { 
    F[i] = (float) Float.parseFloat(txtF[i].getText());

    if ( ! Okfloat(F[i]) )
    {
    Error(i);
    break;
    }//if
    else
    {
    sum = sum + F[i];
    }                                            
         }//if
        else
        {
    Error(i);
    break;
        }
        }// for
       
        if(i == 3)  // 正常退出     
    { // 总分
    txtF[3].setEnabled(true);
    txtF[3].setText((""+sum) );
    txtF[3].setEnabled(false);
    // Button 
    cmdAve.setEnabled(true);
     cmdOp.setEnabled(true);
     }
    }// Sum if(e.getSource()==cmdAve){  // Ave
    float ave= (float)Double.parseDouble(txtF[3].getText());
             txtF[4].setEnabled(true);
             txtF[4].setText("" + ave/3 );  // ??  如何做到只保留一位小数
             // txtF[4].setText("" + (float(int(ave/3*10))/10.0) );  // ?? 错在哪里??
             txtF[4].setEnabled(false);
            } // Ave
    if(e.getSource()==cmdOp){  // 评定 
    //  再说
        }
    } private boolean IsFloat(String str)   
    {
    int flag_Dec = 0;

        if(str.length()==0)
        {
         return false;
        }     for(int ilen=0; ilen< (str.length()); ilen++)
        {
        if(str.charAt(ilen) == '.')
        {
           flag_Dec++;

           if(flag_Dec > 1)  
               {
               return false;  // 只能有一个小数点
                }
            else
                {
               continue;
                }
        }//if    
        
        if( str.charAt(ilen) <'0' || str.charAt(ilen)> '9')
        {
           return false;
        }   
     }//for
       
       return true;
     }//IsFloat
     
    private boolean Okfloat(float a)
    {
    if (a>=0 && a<=100)
    {
    return true;
    }
    else
    {
    return false;
    }
    }//Okfloat   private void Error(int i){    
         txtF[i].setText("0");
        txtF[i].requestFocus();
    }         
            
        public void addComponent(Component c, int row, int col, 
          int nrow, int ncol)
        {
        gridBagConstraints.gridx = col;
        gridBagConstraints.gridy = row;
        
        gridBagConstraints.gridwidth = ncol;
        gridBagConstraints.gridheight = nrow;
        
        gridBagLayout.setConstraints(c, gridBagConstraints);
        add(c);
        }
        
        public static void main(String[] args)
        {
        Mygridbag mygb = new Mygridbag("学生成绩录入");
        mygb.setSize(400, 220);
        mygb.setResizable(false); 
        mygb.show();
        }
    }
      

  2.   

    不必用goto了, 现在的问题是怎样改成Applet?