7-11 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.Scanner;
class Point{
    
    
    int x,y;//成功后,试一下同时弄两个
    public Point(int x,int y){
    
    
        this.x=x;
        this.y=y;
    }
    public void Move(int x,int y){
    
    
        this.x+=x;
        this.y+=y;
    }
    public String toString(){
    
    
        return "("+this.x+","+this.y+")";
    }
}
public class Main{
    
    
    public static void main(String[] args){
    
    
        Scanner in=new Scanner(System.in);
        int x,y,n,xi,yi;
        while(in.hasNextLine())
        {
    
    
            Point a=new Point(in.nextInt(),in.nextInt());
            n=in.nextInt();
            while(n-->0)
            {
    
    
                a.Move(in.nextInt(),in.nextInt());//a.莫忘莫忘
            }
            System.out.println(a.toString());
        }
    }
}

其实也可以不需要创建类,这个有点像C语言的函数
(然后我并没有按题目要求的,其中的Move方法去返回它的新的点对象)

Guess you like

Origin blog.csdn.net/qq_51976555/article/details/117425343