7-17 sdut-oop-2 Shift Dot(类和对象) (10 分)
给出平面直角坐标系中的一点,并顺序给出n个向量,求该点根据给定的n个向量位移后的位置。
设计点类Point,内含:
(1)整型属性x和y,表示点的横坐标和纵坐标;
(2)带参构造方法,便于使用初始值构造该类对象;
(3)点移动的方法move(x1,y1),其 中x1和y1表示移动的向量,该方法返回移
(4)动后的新的点对象
(5)展示点对象的字符串方法toString(),以“(横坐标,纵坐标)”的形式。
输入格式:
多组输入。
第一行是三个整数x,y,n,表示点的坐标(x,y),和向量的个数n。
接下来n行,每行两个数xi,yi,表示第i个向量。
题目中所有数据不会超出整形范围。
输出格式:
对于每组输入,输出一行,形式为:"(x,y)",表示点的最终点位置的横坐标和纵坐标。
输入样例:
0 0 1
2 3
0 0 2
1 2
2 3
输出样例:
(2,3)
(3,5)
在这里插入代码片
```import java.util.*;
public class Main {
public static void main(String args[]) {
int x,y,judge;
Scanner sc=new Scanner(System.in);
for(int m=0;m<5;m++)
{
x=sc.nextInt();
y=sc.nextInt();
judge=sc.nextInt();
Point p=new Point(x,y);
for(int i=0;i<judge;i++)
{
int dx=sc.nextInt();
int dy=sc.nextInt();
p=p.move(dx, dy);
}
System.out.println(p.toString());
}
}
}
class Point
{
int x,y;
public Point(){}
public Point(int x,int y)
{
this.x=x;
this.y=y;
}
public Point move(int x1,int y1)
{
Point p=new Point();
p.x=this.x+x1;
p.y=this.y+y1;
return p;
}
public String toString()
{
return "("+this.x+","+this.y+")";
}
}