第三題
/*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 ComputDistance {
public static void main (String args[]) {
Point2D.Double p1=new Point2D.Double(2770764.476,349528.6095); Point2D.Double p2=new Point2D.Double(2771270.845,349947.5405); Point2D.Double p3=new Point2D.Double(2772739.52,358400.7472); Point2D.Double p4=new Point2D.Double(2777131.941,371285.0676); Point2D.Double p5=new Point2D.Double(2782147.204,371780.8572);
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 xc {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("三點距離總和: " + sum);
}
}
第六題
import java.io.*;import java.util.*;import java.awt.geom.Point2D;/*此程式使用datain.txt輸入*/
class DDS {
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 GOS {
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);}
}catch (Exception e) {System.err.println("failed to open file " + args[i]);System.err.println("Error: " + e);}}
}}