2 포인트를 정의하는 클래스를 만들기위한 과제가 주어졌습니다. 그런 다음 벡터를 정의하는 클래스를 만듭니다. 그런 다음 사각형 (4 벡터)을 정의하는 클래스를 만듭니다. 이 과제를하기 전에 나는 벡터의 길이를 계산하기위한 점과 벡터 클래스를 만드는 작업을했습니다. 나는이 직사각형 클래스를 만들 수 있도록 그 코드를 사용할 수 있다는 것을 알기 위해 그 과제에 100 % 표시를했습니다.자바에서 벡터와 점으로 사각형 만들기?
이 현재 할당에서 직사각형 클래스를 생성 한 다음 경계 및 면적을 계산합니다. 나는 사각형 클래스를 만드는 동안 시간을 보냈지 만, 완벽 해 보일 때마다 컴파일 오류가 발생합니다.
Point 클래스 :
public class Point {
private double x;
private double y;
public Point(){
x=0.0;
y=0.0;
}
public Point(double a, double b){
x=a;
y=b;
}
public double getX(){return x;}
public double getY(){return y;}
}
Vector 클래스 :
public class Vector {
private Point p = new Point();
private Point q = new Point();
public Vector(Point a, Point b){
p=a;
q=b;
}
public double giveLength (){
double xDiff=q.getX() - p.getX();
double yDiff=q.getY() - p.getY();
return Math.sqrt((xDiff*xDiff)+(yDiff*yDiff));
}
public double giveLength2(){
double x2Diff = p.getX2() - q.getX2();
double y2Diff = p.getY2() - q.getY2();
return Math.sqrt((x2Diff*x2Diff)+(y2Diff*y2Diff));
}
}
Assignment7 클래스 :
어쨌든이 사각형 클래스의 도와 사용하는 메신저 내 이전 코드
import java.util.*;
import java.math.*;
import java.io.*;
class Assignment7 {
public static void main(String[] args)throws Exception{
double X1;
double Y1;
double X2;
double Y2;
Point P1;
Point P2;
Vector V;
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);
while (reader.hasNext()){
X1 = reader.nextDouble();
Y1 = reader.nextDouble();
P1 = new Point(X1,Y1);
X2 = reader.nextDouble();
Y2 = reader.nextDouble();
P2 = new Point(X2,Y2);
V = new Vector (P1, P2);
System.out.println("X1 " + X1 + " length is " + V.giveLength());
}
}
}
입력 파일은 형식에 :
다음x y
x y
x y
내 현재 사각형 클래스처럼 보이지만, 그것의 생성자 오류를 많이 던지고 것입니다.
class Rectangle{
private Vector w = new Vector();
private Vector x = new Vector();
private Vector y = new Vector();
private Vector z = new Vector();
public Rectangle(Vector a, Vector b, Vector c, Vector d){
w=a;
x=b;
y=c;
z=d;
}
public double givePerimeter(){
double perimeter = ((w.giveLength() + x.giveLength2())* 2);
return perimeter;
}
public double giveArea(){
double area = (w.giveLength() * y.giveLength2());
return area;
}
}
미리 도움을 주셔서 감사합니다!
private Vector w = new Vector();
private Vector x = new Vector();
private Vector y = new Vector();
private Vector z = new Vector();
하지만 당신은 인수와 벡터 생성자가 없습니다 :
숙제에는 '숙제'태그가 있어야합니다. –
OK, 완료 태그 : –
아, 죄송합니다. 감사. – cal