import java.awt.*; import java.applet.Applet; import java.io.*; import java.net.*; public class ps1e3 extends Applet { private Label prompt; private TextField inletters; private String inStr; private String teststring; private Button btn1; public String[] alphatable; private TextArea outwords; private DataInputStream instream; private FileInputStream inputFile; private DataInputStream inputData; String text; public void init() { resize(540, 382); int i; prompt = new Label( "enter any characters:"); inletters = new TextField( 20 ); btn1 = new Button("osti!"); alphatable = new String[27]; outwords = new TextArea( "", 9, 30); add(prompt); add(inletters); add(btn1); add(outwords); // this section reads in the code file try { URL CodefileName = new URL("http://acg.media.mit.edu/mas962/ps1/code.txt"); URLConnection codefile = CodefileName.openConnection(); instream = new DataInputStream(codefile.getInputStream()); for (i = 0 ; i < 26 ; i++) { alphatable[i] = instream.readLine(); alphatable[i] = alphatable[i].substring(2); } } catch (IOException e); } public boolean action( Event e, Object o ) { int asciival; int i, ii, j, jj, k, kk, scale; boolean num; Character testchar; String str1; String str2; if (e.target == btn1) { outwords.setText( "" ); inStr = inletters.getText(); inStr = inStr.toLowerCase(); scale = 1; for (i = 0; i < inStr.length(); i++) { num = false; str1 = inStr.substring(i,i+1); k = ((int)str1.charAt(0)) - 48; if ((k >= 0) && (k <= 9)) { scale = scale + k; num = true; } else { // outwords.appendText("ascii val: " + k); str2 = alphatable[0]; j = 0; for (j = 0; j < 26; j++) { str2 = alphatable[j].substring(0,1); if (str1.equals(str2)) { for (ii = 1; ii <= scale ; ii++) { for (jj = 1; jj <= scale; jj++) outwords.appendText(alphatable[j]); outwords.appendText("\n"); } break; } if ((j == 25) && (!str1.equals("z"))) outwords.appendText("DOH!\n"); } scale = 1; } } return true; } return false; } public void paint(Graphics g) { } }