/*Imports*/ import java.applet.Applet; import java.lang.*; import java.awt.*; import java.util.*; import java.io.*; public class average extends Applet { /*Declare Variables*/ Button studentAverage, classAverage, clearData; TextField textName, textG1, textG2, textG3, textG4, textG5, textG6; int process; float floatG1, floatG2, floatG3, floatG4, floatG5, floatG6, staverage, sttotal, stnumber, claverage; String stringName; Panel p; Graphics g; Font font; public void init() { /*Intialize program*/ process = 0; floatG1 = 0; floatG2 = 0; floatG3 = 0; floatG4 = 0; floatG5 = 0; floatG6 = 0; staverage = 0; sttotal = 0; stnumber = 0; claverage = 0; /*Setup Table*/ setLayout(new BorderLayout()); Panel p = new Panel(); p.setLayout(new GridLayout(3,8)); /*First Row*/ p.add(new Label ("Student Name")); p.add(new Label (" ")); p.add(new Label ("Grade 1")); p.add(new Label ("Grade 2")); p.add(new Label ("Grade 3")); p.add(new Label ("Grade 4")); p.add(new Label ("Grade 5")); p.add(new Label ("Grade 6")); /*Second Row*/ textName = new TextField(1); p.add(textName); p.add(new Label (" ")); textG1 = new TextField(1); p.add(textG1); textG2 = new TextField(1); p.add(textG2); textG3 = new TextField(1); p.add(textG3); textG4 = new TextField(1); p.add(textG4); textG5 = new TextField(1); p.add(textG5); textG6 = new TextField(1); p.add(textG6); /*Third Row*/ p.add(new Label (" ")); studentAverage = new Button ("Student Average"); p.add(studentAverage); p.add(new Label (" ")); clearData = new Button ("Clear Data"); p.add(clearData); p.add(new Label (" ")); p.add(new Label (" ")); classAverage = new Button ("Class Average"); p.add(classAverage); p.add(new Label (" ")); add("South", p); } /*Hit Return Key*/ public boolean action (Event HitReturnKey, Object arg) { /*In text boxes*/ if(HitReturnKey.target == studentAverage) { stringName = textName.getText(); floatG1 = (float)intFromTextField(textG1); floatG2 = (float)intFromTextField(textG2); floatG3 = (float)intFromTextField(textG3); floatG4 = (float)intFromTextField(textG4); floatG5 = (float)intFromTextField(textG5); floatG6 = (float)intFromTextField(textG6); staverage = ((floatG1 + floatG2 + floatG3 + floatG4 + floatG5 + floatG6) / 6); sttotal = staverage + sttotal; stnumber = 1 + stnumber; process = 1; repaint(); } /*Clear class talley*/ if(HitReturnKey.target == clearData) { sttotal = 0; stnumber = 0; process = 2; repaint(); } /*Compute class average*/ if(HitReturnKey.target == classAverage) { claverage = sttotal / stnumber; process = 3; repaint(); } return super.action(HitReturnKey, arg); } public void paint(Graphics g) { g.setFont(new Font("TimesRoman", Font.BOLD, 18)); if (process == 0) { g.drawString("Enter a students name and grades to calculat the average.", 50, 50); } if (process == 1) { g.drawString("The average for " + stringName + " is " + staverage + ".", 50, 50); } if (process == 2) { g.drawString("The memory has been cleared.", 50, 50); } if (process == 3) { g.drawString("The class average for " + (int)stnumber + " student(s) is " + claverage + ".", 50, 50); } } int intFromTextField(TextField tf) { String TextforConversion; int IntegerReturned; TextforConversion = tf.getText(); try { IntegerReturned = Integer.parseInt(TextforConversion); } catch (Exception e) { IntegerReturned = 0; } return IntegerReturned; } }