6 Replies - 2499 Views - Last Post: 13 December 2009 - 08:43 PM Rate Topic: -----

#1 rookiebean  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 17
  • Joined: 22-November 09

How to store triangles and rectangles?

Post icon  Posted 13 December 2009 - 05:27 PM

So far this code reads several Points from a file and stores them in an arraylist. These points are then used to create several vectors using a different file selecting which points to use, which are then stored in an arraylist. The problem is I now need to create 5 rectangles and 5 triangles using those vectors. I am not sure how to go about this. Can anyone guide me in the right direction? Thanks



import java.util.*;
import java.math.*;
import java.io.*;

class Assignment6 {
	public static void main(String[] args)throws Exception{ 
	
	double X1;
	double Y1; 
	double X2;
	double Y2;

	Point P1;
	Point P2;
	Vector V;
	
	Triangle T1;
	Rectangle R1;
	
	int L1;
	int L2;
	
	int N1;
	int N2;
	int N3;
	int N4;
	
	Scanner in = new Scanner(System.in);
	System.out.println("Please enter a filename:"); 
	String filename = in.nextLine(); 
 
	File inputFile = new File(filename);
	Scanner reader = new Scanner(inputFile);	
ArrayList<Point> storePoint = new ArrayList<Point>();
	
	while ( reader.hasNext()){
	
		X1 = reader.nextDouble();
		Y1 = reader.nextDouble();
		P1 = new Point(X1,Y1);
		
	storePoint.add(P1);
	} 
	
	//Points Now Stored In An ArrayList!!
	
	Scanner input = new Scanner(System.in);
	System.out.println("Please enter a filename:"); 
	String filename1 = input.nextLine(); 
 
	File inputVector = new File(filename1);
	Scanner VectorInput = new Scanner(inputVector);
	ArrayList<Vector> storeVector = new ArrayList<Vector>(); 
	
	while (VectorInput.hasNext()){
	
	L1 = VectorInput.nextInt();
	L2 = VectorInput.nextInt();
	
	V = new Vector (storePoint.get(L1),storePoint.get(L2));
	
	storeVector.add(V);
	}
	//Vectors Now Stored In An ArrayList!!
	
		Scanner input1 = new Scanner(System.in);
	System.out.println("Please enter a filename:"); 
	String filename2 = input1.nextLine(); 
 
	File inputTangle = new File(filename2);
	Scanner TangleInput = new Scanner(inputTangle);
	ArrayList<Triangle> storeTriangle = new ArrayList<Triangle>(); 
	ArrayList<Rectangle> storeRectangle = new ArrayList<Rectangle>();
	while (TangleInput.hasNext()){
	
	
	}

	}
	
	}



Is This A Good Question/Topic? 0
  • +

Replies To: How to store triangles and rectangles?

#2 Martyr2  Icon User is offline

  • Programming Theoretician
  • member icon

Reputation: 4332
  • View blog
  • Posts: 12,127
  • Joined: 18-April 07

Re: How to store triangles and rectangles?

Posted 13 December 2009 - 06:35 PM

Are you talking about picking points out of the vectors that will create the shapes or are you talking about making it draw those shapes using the points you stored in the vectors? I guess the real question is, what is the purpose of the vectors? Is each vector a shape that will then needed to be drawn?

:)
Was This Post Helpful? 0
  • +
  • -

#3 rookiebean  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 17
  • Joined: 22-November 09

Re: How to store triangles and rectangles?

Posted 13 December 2009 - 06:41 PM

Firstly thanks for the reply!! This is the lecturer's exact words:-

Once you have written, and hopefully tested the two new classes you can continue. You will be con-
structing these shapes from a data file as before, except that this time there are three files. The names of
the three files will be passed in as parameters to the main method, just like assignment 6. The first one will
contain data for 25 Points, an x and y value on each line, separated by a single space. All values will be
integers.
The second file will contain details of 35 vectors, each vector defined by two integers for which x >= 0
and x < 25. Each value will refer to the points constructed by part one above. Finally the third file will
contain details of five Rectangles, each represented on a separate line of four integers, each representing one
of the vectors constructed in part two above, followed by five Triangles, each represented by three integers
on a separate line, representing the Vectors as before. Your job will be to construct Points from file one
storing them in a suitable data structure, then construct Vectors, then construct and store the Rectangles
and Triangles. Finally to iterate through the collection of shapes, printing out for each one its perimeter
length and area.

I have got as far as the vectors, just actually saving the triangles and rectangles has stumped me as they are both in one file. Thanks
Was This Post Helpful? 0
  • +
  • -

#4 Uprocker  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 13-December 09

Re: How to store triangles and rectangles?

Posted 13 December 2009 - 07:31 PM

Nice to see I'm not the only one who left this assignment till last minute. The way I've gotten round it is by using a for loop. With File3, he says the first 5 lines are rectangles and then 5 triangles, so I've scanned the first 5 lines into an array for rectangles and the second 5 into an array for triangles. It's compiled, but I haven't tested it yet. This is my code for the last file, sorry for lack of notes:

File inputFile3 = new File(filename3);
Scanner reader3 = new Scanner(inputFile3);

while(reader3.hasNextLine()){
		String line3 = reader3.nextLine();
		Scanner lineScanner3 = new Scanner(line3);
		lineScanner3.useDelimiter(" ");
		
		while(lineScanner3.hasNext()){
		String firstvalue3 = lineScanner3.next();
		String secondvalue3 = lineScanner3.next();
		String thirdvalue = lineScanner3.next();
		String fourthvalue = lineScanner3.next();
		
			
		int w = Integer.parseInt(firstvalue3);
		int x = Integer.parseInt(secondvalue3);
		int y = Integer.parseInt(thirdvalue);
		int z = Integer.parseInt(fourthvalue);
		
		
		for(int i = 0; i < 5; i++){
		
		Rectangle R = new Rectangle(vectors[w], vectors[x], vectors[y], vectors[z]);
		rectangles[i] = R;
	}
		
		for(int i = 0; i > 5; i++){
		Triangle T = new Triangle(vectors[w], vectors[x], vectors[y]);
		triangles[i] = T;
	}
	
	Rectangle R1 = rectangles[0];
	Rectangle R2 = rectangles[1];
	Rectangle R3 = rectangles[2];
	Rectangle R4 = rectangles[3];
	Rectangle R5 = rectangles[4];
	
	Triangle T1 = triangles[0];
	Triangle T2 = triangles[1];
	Triangle T3 = triangles[2];
	Triangle T4 = triangles[3];
	Triangle T5 = triangles[4];


Hope this helps, good luck.

Edit: Just realised this makes no sense without notes. "vectors, rectangles, triangles" are all arrays that I declared at the start of the program.

This post has been edited by Uprocker: 13 December 2009 - 07:35 PM

Was This Post Helpful? 0
  • +
  • -

#5 rookiebean  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 17
  • Joined: 22-November 09

Re: How to store triangles and rectangles?

Posted 13 December 2009 - 07:39 PM

LEDGEND!!! After you have tested it could you possibly let me know if it works? Cos it will take a while for me to adapt the code to what I have thanks!!!
Was This Post Helpful? 0
  • +
  • -

#6 rookiebean  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 17
  • Joined: 22-November 09

Re: How to store triangles and rectangles?

Posted 13 December 2009 - 08:11 PM

ok...... Does anyone have any ideas how i can adapt this too my code? I am really stumped. Thanks!
Was This Post Helpful? 0
  • +
  • -

#7 Uprocker  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 2
  • Joined: 13-December 09

Re: How to store triangles and rectangles?

Posted 13 December 2009 - 08:43 PM

It ain't working, and nothing I try fixes it. I'm giving in and sending it in as it is. Sorry bud.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1