All pastes #824022 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-12-19 19:02 UTC
rendered paste body
import java.io.*;
import java.util.Scanner;

public class ObjectEraser 
{
	private final static int MAXROW = 20;
	private final static int MAXCOL = 20;
	private final static char FOUND= '@';
	int x,y;
	boolean cleared = true;
	char current = ' ';
	
	
	public void getObjects(char [][] objs)
	{
		try   //trys to find file
		{
			FileReader reader = new FileReader("digital.txt");
			Scanner sf = new Scanner(reader);
			for(int x = 1; x<20; x++)
			{
				for(int y = 1; y<20; y++)
				{
					objs[x][y] = '-';
				}
			}
		
			while(sf.hasNext())
			{
				objs[sf.nextInt()][sf.nextInt()] = FOUND;
			}
			sf.close();
			
		}
		catch(IOException e)
		{
			System.out.println("File problems");
		}
	}

	public void printObjects(char[][] objs) throws IOException
	{
		System.out.println("12345678901234567890");
		for(int x = 1; x<20; x++)
		{
			System.out.print(x%10);
			for(int y = 1; y<20; y++)
			{
				System.out.print(objs[x][y]);
			}
			System.out.println();
		}
			
		
	}
	
	public int findX(char[][] objs)
	{
		{
			for(int x = 0; x<21; x++)
			{
				for(int y = 0; y<21; y++)
				{
					if(objs[x][y] == FOUND)
						return x;
				}
			}
			return -1;
		}
		
	}
	
	public int findY(char[][] objs)
	{
		for(int x = 0; x<21; x++)
		{
			for(int y = 0; y<21; y++)
			{
				if(objs[x][y] == FOUND)
					return y;
			}
		}
		return -1;
	}

	public void doErase(char[][] objs, int x, int y) throws IOException
	{
		if(x==MAXROW || y ==MAXCOL || objs[x][y] == '-' || y == 0 || x == 0);
		else
		{
			objs[x][y] = '-';
			doErase(objs, x+1, y);
			doErase(objs, x-1, y);
			doErase(objs, x, y+1);
			doErase(objs, x, y-1);
		}		
	}
	
	public static void main(String[] args) throws IOException
	{
		Scanner scan = new Scanner(System.in);
		ObjectEraser erase = new ObjectEraser();
		char[][] objs = new char[MAXCOL + 1][MAXROW + 1];
		String cont = "y";
		int x, y;
		
		erase.getObjects(objs);
		erase.printObjects(objs);
		
		x = erase.findX(objs);
		y = erase.findY(objs);
		
		
		System.out.println();
		
		while(cont.equalsIgnoreCase("y"))
		{
			x = erase.findX(objs);
			y = erase.findY(objs);	
			if(x == 20)
			{
				System.out.println("No objects present");
				cont = "n";
			}
			else
			{
				erase.doErase(objs,x,y);
				erase.printObjects(objs);
				System.out.print("Would you like to continue?  ");
				cont = scan.next();
				System.out.println();
			}
		}
	}
}