import java.util.Scanner;
import java.io.FileNotFoundException;
import java.io.File;
import java.io.PrintWriter;
import java.util.Arrays;

class Nov10 {
	static Scanner kb = new Scanner(System.in);

	public static void main(String[] args) {

		Point p1 = new Point(1,2); 
		System.out.println(p1.toString());
	
		Point p2 = new Point(1,2);
		System.out.println(p2.toString());

		if (p1.equals(p2)) {
			System.out.println("Equal points");
		}
		else {
			System.out.println("Not equal");
		}

		Point[] points = readPoints();	
		printPoints(points);
	
		// change all y-coords to 0
		for(int i = 0; i < points.length; i++) {
			points[i].setY(0);
		}
		printPoints(points);

		savePoints(points);

		int[] arr = {3,2,5,2,1};
		Arrays.sort(arr);
		System.out.println(Arrays.toString(arr));
	}
	
	static void printPoints(Point[] arr) {
		for(Point p : arr) {
			System.out.println(p.toString());
		}
	}

	static Point[] readPoints() {
		Scanner fin = null;

		System.out.println("Enter file name");
		String fileName = kb.nextLine();

		try {
			fin = new Scanner(new File(fileName));
		}
		catch (FileNotFoundException e) {
			System.out.println("File not found");
			System.exit(1);	
		}

		fin.useDelimiter(",|\n");

		int numPoints = fin.nextInt();
		
		Point[] points = new Point[numPoints];

		for(int i = 0; i < numPoints; i++) {
			points[i] = new Point(fin.nextInt(), fin.nextInt());
		}

		fin.close();

		return points;
	}

	static void savePoints(Point[] arr) {

		PrintWriter pw = null;
	
		System.out.println("Enter file name");
		String fileName = kb.nextLine();

		try {
			pw = new PrintWriter(new File(fileName));
		}
		catch (FileNotFoundException e) {
			System.out.println("File not found");
			System.exit(1);	
		}

		pw.println(arr.length);
		for(Point p : arr) {
			pw.printf("%d,%d\n", p.getX(), p.getY());
		}

		pw.close();
	}
}
