Мне нужно создать класс для вычисления расстояния между двумя заданными точками для класса. Инструктор дал нам верхнюю половину задания со всем необходимым кодом без изменения, проблема, с которой им связано, заключается в создании части класса. Это то, что я до сих пор ...Расчет расстояния между двумя заданными точками
class Point{
int x;
int y;
public Point(){
this.x = 0;
this.y = 0;
}
public Point(int x, int y){
this.x = x;
this.y = y;
}
public double distance(int x, int y) {
double d = Math.sqrt(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2));
return distance;
}
}
верхняя часть задания выглядит следующим образом:
import java.util.Scanner;
class Assignment4{
public static void main(String[] args){
// first and second points
Point first, second;
// try parsing points from command line args
if(args.length==4){
// new Point(int x, int y) creates a new Point located at position (x,y)
first = new Point(Integer.valueOf(args[0]), Integer.valueOf(args[1]));
second = new Point(Integer.valueOf(args[2]), Integer.valueOf(args[3]));
}
// if not specified as argument, get points from user
else{
Scanner input = new Scanner(System.in);
System.out.println("Enter first point: ");
first = new Point(input.nextInt(),input.nextInt());
System.out.println("Enter second point: ");
second = new Point(input.nextInt(),input.nextInt());
}
//calculate distance
//double d = Math.sqrt(Math.pow(x2-x1, 2) + Math.pow(y2-y1, 2));
double d = first.distance(second.x, second.y);
System.out.println("Distance between " +
"(" + first.x + "," + first.y + ")" +
" and " +
"(" + second.x + "," + second.y + ")" +
" is " + d);
System.out.println();
}
}
Когда я попробовать и скомпилировать программу, он говорит: «не может найти символ» со ссылкой к x2, x1, y2, y1 и расстоянию.
@ChthonicProject Не очень - 'distance()' является методом экземпляра, и он пытается вычислить расстояние между текущей «точкой» и точкой, координаты которой заданы двумя аргументами. – ajb
Было ли определение 'расстояние', т. Е.' Public double distance (int x, int y) ', данное вам как часть задания, или это была ваша идея? Мне просто интересно, почему метод должен принимать 'x' и' y' вместо другого 'Point'. – ajb