2007年11月9日 星期五

期中考試

第三題
/*import java.io.FileInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.io.FileOutputStream;
*/
import java.io.*;
import java.util.*;
class StringFileIO {
public static void main (String args[]) {

String thisLine;

//Loop across the arguments
for (int i=0; i < args.length; i++) {

//Open the file for reading
try {
FileInputStream fin = new FileInputStream(args[i]);
FileOutputStream fout = new FileOutputStream("outdata.txt");


// now turn the FileInputStream into a DataInputStream
try {
//DataInputStream myInput = new DataInputStream(fin);
BufferedReader myInput =new BufferedReader(new InputStreamReader(fin)); PrintStream myOutput = new PrintStream(fout);

try {
while ((thisLine = myInput.readLine()) != null) {
System.out.println(thisLine);
myOutput.println(thisLine);
StringTokenizer st = new StringTokenizer(thisLine);
while (st.hasMoreTokens()) {
System.out.println(st.nextToken()); }
} // while loop ends here } catch (Exception e) { System.err.println("Error: " + e); } } // end try catch (Exception e) { System.err.println("Error: " + e); }
} // end try catch (Exception e) { System.err.println("failed to open file " + args[i]); System.err.println("Error: " + e);
}
} // for end here

} // main ends here

}

第四題
import java.awt.geom.Point2D;
class ComputeDist {
public static void main (String args[]) {
Point2D.Double p1=new Point2D.Double(2776182.465 ,369826.5266); Point2D.Double p2=new Point2D.Double(2778123.776 ,371402.5182); Point2D.Double p3=new Point2D.Double(2779552.833 ,371256.7434); Point2D.Double p4=new Point2D.Double(2780497.921 ,371280.8296); Point2D.Double p5=new Point2D.Double(2781435.706 ,371695.3669);
System.out.println("p1到p2的距離: "+ p1.distance(p2)); System.out.println("p2到p3的距離: "+ p2.distance(p3)); System.out.println("p3到p4的距離: "+ p3.distance(p4)); System.out.println("p4到p5的距離: "+ p4.distance(p5)); //System.out.println("p5到p6的距離: "+ p1.distance(p2)); } }
第五題
import java.io.*;import java.awt.geom.Point2D;
public class Five {public static void main(String[] args) throws IOException {BufferedReader keyin;keyin = new BufferedReader(new InputStreamReader(System.in));double p1n, p1e, p2n, p2e, p3n, p3e, p4n, p4e, p5n, p5e, sum;System.out.println("輸入第一點北緯UTM: ");String n1 = keyin.readLine();p1n = Double.parseDouble(n1);System.out.println("輸入第一點東經UTM: ");String e1 = keyin.readLine();p1e = Double.parseDouble(e1);System.out.println("輸入第二點北緯UTM: ");String n2 = keyin.readLine();p2n = Double.parseDouble(n2);System.out.println("輸入第二點東經UTM: ");String e2 = keyin.readLine();p2e = Double.parseDouble(e2);System.out.println("輸入第三點北緯UTM: ");String n3 = keyin.readLine();p3n = Double.parseDouble(n3);System.out.println("輸入第三點東經UTM: ");String e3 = keyin.readLine();p3e = Double.parseDouble(e3);
Point2D.Double p1 = new Point2D.Double(p1n, p1e);Point2D.Double p2 = new Point2D.Double(p2n, p2e);Point2D.Double p3 = new Point2D.Double(p3n, p3e);
System.out.println("P1到P2的距離: " + p1.distance(p2));System.out.println("P2到P3的距離: " + p2.distance(p3));
sum = p1.distance(p2) + p2.distance(p3) ;System.out.println("3點距離總和: " + sum);
}
}
第六題
import java.io.*;import java.util.*;import java.awt.geom.Point2D;/*此程式使用datain.txt輸入*/
class Six {
public static void main (String args[]) {
String thisLine;
for (int i=0; i < args.length; i++) {
try {FileInputStream fin = new FileInputStream(args[i]);
try {DataInputStream myInput = new DataInputStream(fin);
try {while ((thisLine = myInput.readLine()) != null) {StringTokenizer st = new StringTokenizer(thisLine, " ,");double p1n, p1e, p2n, p2e, p3n, p3e, p4n, p4e, p5n, p5e, sum;
p1n = Double.parseDouble(st.nextToken());System.out.println("第一點北緯UTM:" + p1n);p1e = Double.parseDouble(st.nextToken());System.out.println("第一點東經UTM:" + p1e);p2n = Double.parseDouble(st.nextToken());System.out.println("第二點北緯UTM:" + p2n);p2e = Double.parseDouble(st.nextToken());System.out.println("第二點東經UTM:" + p2e);p3n = Double.parseDouble(st.nextToken());System.out.println("第三點北緯UTM:" + p3n);p3e = Double.parseDouble(st.nextToken());System.out.println("第三點東經UTM:" + p3e);p4n = Double.parseDouble(st.nextToken());System.out.println("第四點北緯UTM:" + p4n);p4e = Double.parseDouble(st.nextToken());System.out.println("第四點東經UTM:" + p4e);p5n = Double.parseDouble(st.nextToken());System.out.println("第五點北緯UTM:" + p5n);p5e = Double.parseDouble(st.nextToken());System.out.println("第五點東經UTM:" + p5e);
Point2D.Double p1 = new Point2D.Double(p1n, p1e);Point2D.Double p2 = new Point2D.Double(p2n, p2e);Point2D.Double p3 = new Point2D.Double(p3n, p3e);Point2D.Double p4 = new Point2D.Double(p4n, p4e);Point2D.Double p5 = new Point2D.Double(p5n, p5e);
System.out.println("P1到P2的距離: " + p1.distance(p2) + "公尺");System.out.println("P2到P3的距離: " + p2.distance(p3) + "公尺");System.out.println("P3到P4的距離: " + p3.distance(p4) + "公尺");System.out.println("P4到P5的距離: " + p4.distance(p5) + "公尺");
sum = p1.distance(p2) + p2.distance(p3) + p3.distance(p4) + p4.distance(p5);System.out.println("五點距離總和: " + sum + "公尺");
}
}catch (Exception e) {System.err.println("Error: " + e);}}catch (Exception e) {System.err.println("Error: " + e);}
}catch (Exception e) {System.err.println("failed to open file " + args[i]);System.err.println("Error: " + e);}}
}}
第七題
import java.io.*;import java.util.*;import java.awt.geom.Point2D;/*此程式使用datain.txt輸入*/
class Seven {
public static void main (String args[]) {
String thisLine;
for (int i=0; i < args.length; i++) {
try {FileInputStream fin = new FileInputStream(args[i]);
try {DataInputStream myInput = new DataInputStream(fin);
try {while ((thisLine = myInput.readLine()) != null) {StringTokenizer st = new StringTokenizer(thisLine, " ,");double p1n, p1e, p2n, p2e, p3n, p3e, p4n, p4e, p5n, p5e, sum;
p1n = Double.parseDouble(st.nextToken());System.out.println("第一點北緯UTM:" + p1n);p1e = Double.parseDouble(st.nextToken());System.out.println("第一點東經UTM:" + p1e);p2n = Double.parseDouble(st.nextToken());System.out.println("第二點北緯UTM:" + p2n);p2e = Double.parseDouble(st.nextToken());System.out.println("第二點東經UTM:" + p2e);p3n = Double.parseDouble(st.nextToken());System.out.println("第三點北緯UTM:" + p3n);p3e = Double.parseDouble(st.nextToken());System.out.println("第三點東經UTM:" + p3e);p4n = Double.parseDouble(st.nextToken());System.out.println("第四點北緯UTM:" + p4n);p4e = Double.parseDouble(st.nextToken());System.out.println("第四點東經UTM:" + p4e);p5n = Double.parseDouble(st.nextToken());System.out.println("第五點北緯UTM:" + p5n);p5e = Double.parseDouble(st.nextToken());System.out.println("第五點東經UTM:" + p5e);
Point2D.Double p1 = new Point2D.Double(p1n, p1e);Point2D.Double p2 = new Point2D.Double(p2n, p2e);Point2D.Double p3 = new Point2D.Double(p3n, p3e);Point2D.Double p4 = new Point2D.Double(p4n, p4e);Point2D.Double p5 = new Point2D.Double(p5n, p5e);
System.out.println("一英尺=0.3048公尺");System.out.println("P1到P2的距離: " + p1.distance(p2) + "公尺");System.out.println("P1到P2的距離: " + p1.distance(p2)/0.3048 + "英尺");System.out.println("P2到P3的距離: " + p2.distance(p3) + "公尺");System.out.println("P2到P3的距離: " + p2.distance(p3)/0.3048 + "英尺");System.out.println("P3到P4的距離: " + p3.distance(p4) + "公尺");System.out.println("P3到P4的距離: " + p3.distance(p4)/0.3048 + "英尺");System.out.println("P4到P5的距離: " + p4.distance(p5) + "公尺");System.out.println("P4到P5的距離: " + p4.distance(p5)/0.3048 + "英尺");
sum = p1.distance(p2) + p2.distance(p3) + p3.distance(p4) + p4.distance(p5);System.out.println("五點距離總和: " + sum + "公尺");System.out.println("五點距離總和: " + sum/0.3048 + "英尺");
}
}catch (Exception e) {System.err.println("Error: " + e);}}catch (Exception e) {System.err.println("Error: " + e);}
}

2007年10月17日 星期三

程式設計上課心得

今天上程式設計的課,把程式作修改,一直出錯!結果是自己有個小細節打錯了!下次上課的的時候,要注意,不要再粗心大意了!

2007年9月12日 星期三