<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE 
ACCOMPANYING FINANCIAL STATEMENTS AND IS QUALIFIED IN ITS ENTIRETY BY REFERENCE
TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<RESTATED>
<MULTIPLIER> 1,000
       
<S>                             <C>                     <C>                     <C>
<PERIOD-TYPE>                   9-MOS                   6-MOS                   3-MOS
<FISCAL-YEAR-END>                          APR-30-1998             APR-30-1998             APR-30-1998
<PERIOD-START>                             MAY-01-1997             MAY-01-1997             MAY-01-1997
<PERIOD-END>                               JAN-31-1998             NOV-01-1997             AUG-02-1997
<CASH>                                           9,757                   9,485                   9,626
<SECURITIES>                                       801                     879                   1,488
<RECEIVABLES>                                   17,255                  17,666                  17,754
<ALLOWANCES>                                       274                     265                     249
<INVENTORY>                                     13,765                  12,899                  12,006
<CURRENT-ASSETS>                                46,412                  45,101                  44,445
<PP&E>                                          76,574                  75,211                  73,554
<DEPRECIATION>                                  46,115                  45,064                  43,621
<TOTAL-ASSETS>                                  80,866                  78,786                  77,926
<CURRENT-LIABILITIES>                           12,702                  12,665                  14,050
<BONDS>                                              0                       0                       0
<PREFERRED-MANDATORY>                                0                       0                       0
<PREFERRED>                                          0                       0                       0
<COMMON>                                        23,246                  23,246                  11,623
<OTHER-SE>                                      10,761                   8,782                  18,120
<TOTAL-LIABILITY-AND-EQUITY>                    80,866                  78,786                  77,926
<SALES>                                         94,293                  63,956                  32,414
<TOTAL-REVENUES>                                94,293                  63,956                  32,414
<CGS>                                           48,113                  32,561                  16,551
<TOTAL-COSTS>                                   48,113                  32,561                  16,551
<OTHER-EXPENSES>                                32,402                  21,905                  11,053
<LOSS-PROVISION>                                     0                       0                       0
<INTEREST-EXPENSE>                               1,093                     656                     140
<INCOME-PRETAX>                                 13,471                   9,433                   5,150
<INCOME-TAX>                                     4,796                   3,358                   1,830
<INCOME-CONTINUING>                              8,675                   6,075                   3,320
<DISCONTINUED>                                       0                       0                       0
<EXTRAORDINARY>                                      0                       0                       0
<CHANGES>                                            0                       0                       0
<NET-INCOME>                                     8,675                   6,075                   3,320
<EPS-PRIMARY>                                      .48<F1>                 .32<F1>                 .16<F1>
<EPS-DILUTED>                                      .48<F1>                 .32<F1>                 .16<F1>
<FN>
<F1>THIS STATEMENT HAS BEEN RESTATED AS A RESULT OF SFAS NO. 128, EARNINGS PER
SHARE, AND APPLICABLE STOCK SPLITS.
</FN>
        

</TABLE>