私は次の試験に向けて勉強しており、サンプル問題、特に次の問題に取り組んでいます。
2 つの点の中点を表す Point 型のオブジェクトを返す midpoint と呼ばれるインスタンス メソッドの下のクラス Point に追加します。ここで、点の 1 つはパラメーターとして提供され、もう 1 つは現在の点 (つまり、ローカル インスタンスによって提供される点) です。変数)。midpoint は新しい Point オブジェクトを返すことに注意してください。クラス Point をうまく利用して、2 つの点を読み取ってその中点を出力するプログラムを作成します。入力は 2 行で構成され、各行には点の x 座標と y 座標が含まれます。入力/出力の例を次に示します。入力は太字で示されています。
Enter two points
2.1 3.2
3.0 2.8
The midpoint is (2.55,3.0)
ポイントクラスの私のコードは次のとおりで、問題ないようです (エラーや改善点を自由に指摘してください)。
 class Point {
private double x, y; // coordinates
Point(double x0, double y0){ // all-args constructor
    x = x0; y = y0;
}
Point(){}; // no-args constructor (defaults apply)
void get() { 
    x = Console.readDouble(); 
    y = Console.readDouble();
}
public Point midPoint(Point p) {
     double mx = (p.x + x)/2;
     double my = (p.y + y)/2;
     return new Point(mx,my);
}
public String toString() 
{ 
    return "(" + x + "," + y + ")";
}
}
そして、私が問題に遭遇したのは、以下のコードで midPoint メソッドを実際に使用しているときです。アドバイスをいただければ幸いです。
import java.util.Scanner;
import java.io.*;
class Midpoint extends Point
{
public static void main (String[] args ) {
    Scanner scanner = new Scanner(System.in);
    System.out.println("Please enter two points:");
    double x1 = scanner.nextDouble();
    double y1 = scanner.nextDouble();
    double x2 = scanner.nextDouble();
    double y2 = scanner.nextDouble();
    Point p1 = new Point(x1, y1);
    Point p2 = new Point(x2, y2);
    p1.get();
    return midPoint(p2);
}
}