

EXPERT ANSWER
import javax.swing.JOptionPane;
// Point3D class
class Point3D{
private int x, y, z;
// No argument constructor
Point3D(){
this.x = 0;
this.y = 0;
this.z = 0;
}
// all argument constructor
Point3D(int x, int y, int z){
this.x = x;
this.y = y;
this.z = z;
}
// calculate distance from point (0,0,0) to point given
public double distance(Point3D point3d){
int x1 = point3d.x;
int y1 = point3d.y;
int z1 = point3d.z;
return Math.sqrt(x1*x1 + y1*y1 + z1*z1);
}
// calculates distance between point 1 and point 2
public double distance(Point3D point1, Point3D point2){
int x1 = point1.x;
int y1 = point1.y;
int z1 = point1.z;
int x2 = point2.x;
int y2 = point2.y;
int z2 = point2.z;
return Math.sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2) + (z1-z2)*(z1-z2));
}
}
// main class or driver class
class MyProg13{
public static void main(String[] args){
Point3D p1 = new Point3D();
Point3D p2 = new Point3D(126, 44, 39);
Point3D p3 = new Point3D(25, 219, 74);
// input dialog boxes
String x = JOptionPane.showInputDialog(“Enter x: “);
String y = JOptionPane.showInputDialog(“Enter y: “);
String z = JOptionPane.showInputDialog(“Enter z: “);
// create point point p4
Point3D p4 = new Point3D(Integer.parseInt(x),Integer.parseInt(y),Integer.parseInt(z));
// saving all the result/message in string result
String result = “p1 to (31, 127, 86): “+ p1.distance(p1, new Point3D(31, 127, 86))+”\n”+
“p1 to p2: “+ p1.distance(p2)+”\n”+
“p2 to p3: “+ p1.distance(p2, p3)+”\n”+
“p3 to p4: “+ p1.distance(p3, p4);
// message dialog box
JOptionPane.showMessageDialog(null,result);
// exit the system
System.exit(0);
}
}