import java.io.*; import java.util.StringTokenizer; import CharPair; public class ReadData { public static void main(String[] arguments) { int exitCode = 0; try { BufferedReader file = new BufferedReader(new FileReader("D:\\Spring02\\ps10\\solution\\indata.dat")); // Read in two Integers - note that your solution may have a different file layout String line = file.readLine(); StringTokenizer st = new StringTokenizer(line); Integer integer1 = new Integer(st.nextToken()); Integer integer2 = new Integer(st.nextToken()); System.out.println("Read Integers: " + integer1 + " " + integer2); // Read in two Doubles line = file.readLine(); st = new StringTokenizer(line); Double double1 = new Double(st.nextToken()); Double double2 = new Double(st.nextToken()); System.out.println("Read Doubles: " + double1 + " " + double2); // Read in four chars line = file.readLine(); char[] chars = new char[4]; chars[0] = line.charAt(0); chars[1] = line.charAt(1); chars[2] = line.charAt(2); chars[3] = line.charAt(3); System.out.println("Read chars: [" + chars[0] + "] [" + chars[1] + "] [" + chars[2] + "] [" + chars[3]+"]"); // Read in two strings String string1 = file.readLine(); String string2 = file.readLine(); System.out.println("Read strings: \"" + string1 + "\" \"" + string2+"\"\n"); file.close(); // 1.d create CharPair objects CharPair cp1 = new CharPair('A', 'Z'); CharPair cp2 = new CharPair('1', '9'); // 1.e output hash codes System.out.println("Hashcode for String: " + string1.hashCode() + " (value: \"" + string1 + "\")"); System.out.println("Hashcode for Integer: " + integer1.hashCode() + " (value: " + integer1 + ")"); System.out.println("Hashcode for Double: " + double1.hashCode() + " (value: " + double1 + ")"); System.out.println("Hashcode for CharPair: " + cp1.hashCode() + " (value: " + cp1 + ")\n"); // 1.f equals() and toString() boolean cpEquals = cp1.equals(cp2); String cpString = cp1.toString(); System.out.println("CharPair.equals() test: " + cpString + ".equals(\"" + cp2 + "\") returns " + cpEquals); // 1.g Raising to powers Double double3 = new Double(Math.pow(double1.doubleValue(), integer1.doubleValue())); Double double4 = new Double(Math.pow(double2.doubleValue(), integer2.doubleValue())); System.out.println("double1 ^ integer1 = " + double3); System.out.println("integer2 ^ double2 = " + double4 + "\n"); // 1.h Output new Doubles to file BufferedWriter outFile = new BufferedWriter(new FileWriter("outdata.dat")); outFile.write(double3 + " " + double4); outFile.newLine(); outFile.write(string1); outFile.newLine(); outFile.write(new String(chars)); outFile.newLine(); outFile.write(cp1.toString()); outFile.close(); System.out.println("CP " + cp1); } catch (IOException e) { System.out.println("Error -- " + e.toString()); exitCode = -1; } System.exit(exitCode); } }