用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  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);//平移一段距离。
        
参考技术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中的组件添加平移动画(动画中的坐标参数怎样设置)

怎样用java编写图形界面的Application程序

请问用java编写一个压缩程序,怎样解决压缩文件zip里的文件名乱码问题!

怎样用java编写日历

一个年级有m个班,每个班有n个学生,编写java程序用二维数组保存学生成绩,计算学生平均成绩