用java怎样编写一个二维坐标平移程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java怎样编写一个二维坐标平移程序相关的知识,希望对你有一定的参考价值。
求解,按如下面要求编写个java程序啊????快快快啊
.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:
(1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。
(2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。
(4)Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。
(5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。
java编写二维坐标平移程序,主要是通过类继承Point2D,使用里面的方法来平移,如下代码:
class Point2Dint x, y;
Point2D()
Point2D(int i,int j)
x=i;
y=j;
void offset(int a, int b)
x=x+a;
y=y+b;
void distance(Point2D a,Point2D b)
float m;
m=(float)Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
System.out.print("二维空间两点之间的距离:");
System.out.println("m="+m);
public class Point3D extends Point2D
int x,y,z;
Point3D(int x,int y,int z)
this.x=x;
this.y=y;
this.z=z;
Point3D(Point2D p,int z)
x=p.x;
y=p.y;
this.z=z;
void offset(int a, int b,int c)
x=x+a;
b=x+b;
c=x+c;
void distance(Point3D a,Point3D b)
float n;
n=(float)Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.y-b.y)*(a.y-b.y));//计算两点之间的距离。
System.out.print("三维空间两点之间的距离:");
System.out.println("n="+n);
public static void main(String[] args)
Point2D p2d1=new Point2D(2,3);
Point2D p2d2=new Point2D(3,6);
Point3D p2d3=new Point3D(1,2,3);
Point3D p2d4=new Point3D(p2d1,3);
p2d1.distance(p2d1,p2d2);
p2d3.distance(p2d3,p2d4);//平移一段距离。
参考技术A 网上很多这样的。
class Point2D
int x, y;
Point2D()
Point2D(int i,int j)
x=i;
y=j;
void offset(int a, int b)
x=x+a;
y=y+b;
void distance(Point2D a,Point2D b)
float m;
m=(float)Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
System.out.print("二维空间两点之间的距离:");
System.out.println("m="+m);
public class Point3D extends Point2D
int x,y,z;
Point3D(int x,int y,int z)
this.x=x;
this.y=y;
this.z=z;
Point3D(Point2D p,int z)
x=p.x;
y=p.y;
this.z=z;
void offset(int a, int b,int c)
x=x+a;
b=x+b;
c=x+c;
void distance(Point3D a,Point3D b)
float n;
n=(float)Math.sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)+(a.y-b.y)*(a.y-b.y));
System.out.print("三维空间两点之间的距离:");
System.out.println("n="+n);
public static void main(String[] args)
Point2D p2d1=new Point2D(2,3);
Point2D p2d2=new Point2D(3,6);
Point3D p2d3=new Point3D(1,2,3);
Point3D p2d4=new Point3D(p2d1,3);
p2d1.distance(p2d1,p2d2);
p2d3.distance(p2d3,p2d4);
本回答被提问者和网友采纳
请问用java编写一个压缩程序,怎样解决压缩文件zip里的文件名乱码问题!
乱码,是因为用winRAR打开那个zip文件,文件名出现乱码,请问怎样解决?
没做过压缩程序,JAVA里面的字符串使用的编码为unicode,ZIP文件里面用的应该是本地编码(中文操作系统用的是GB2312)。你可以尝试着用类似这样的语句:String str = ( otherStr.getBytes("GB2312") );
祝好运。 参考技术A JAVA中有 GZIPOutputStream 类,用OutputStream构造,然后调用期write()方法就行 参考技术B 最近刚做过一个 解压缩JAR 的确有这样的问题 .
你可以通过 编码压缩使用
entryName = new String(entryName.getBytes("gb2312"),"ISO8859_1");
解压时使用
jarName = new String(jarName.getBytes("ISO8859_1"),"gb2312");
可以解决问题
以上是关于用java怎样编写一个二维坐标平移程序的主要内容,如果未能解决你的问题,请参考以下文章
给Android中的组件添加平移动画(动画中的坐标参数怎样设置)