实验3(类、对象和包)的编程题目

实验3 的自编程练习

题目

定义类Circle。其属性有半径radius,圆心位置center。

下面分别是Circle.java和TestCircle.java的部分代码。请将其完善。 下面是Circle.java部分代码 import java.awt.Point; class Circle{ private double radius; private Point center; Circle(){ this(1.0); } Circle(double r){ radius = r; center = new Point(); } Circle(int x, int y){//需要你完善 } Circle(Point p){ //需要你完善 } Circle(int x, int y, double r){ //需要你完善 } Circle(Point p, double r){ //需要你完善 } public double getRadius(){ return radius; } public void setRadius(double r){ radius = r; } public Point getCenter(){ return center; } public void move(int x, int y){ center.move(x, y); } }

下面是TestCircle.java部分代码 import javax.swing.JFrame;

import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;

public class TestCircle extends JFrame{ Circle circle = new Circle(100,100,10); public static void main(String[] args) { new TestCircle().lauch(); } public void lauch(){ setLocation(200, 200); setSize(200,200); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); setVisible(true); addKeyListener(new KeyMonitor()); } class KeyMonitor extends KeyAdapter { public void keyPressed(KeyEvent e) { int key = e.getKeyCode(); switch(key){ case KeyEvent.VK_UP://下面需要你补充 System.out.println(\向上移动后,输出circle位置\ break; case KeyEvent.VK_DOWN://下面需要你补充 System.out.println(\向下移动后,输出circle位置\ break; case KeyEvent.VK_LEFT://下面需要你补充 System.out.println(\向左移动后,输出circle位置\ break; case KeyEvent.VK_RIGHT://下面需要你补充 System.out.println(\向右移动后,输出circle位置\ break; case KeyEvent.VK_PAGE_UP://radius加1 circle.setRadius(circle.getRadius()+1); System.out.println(\ break; case KeyEvent.VK_PAGE_DOWN://radius减1 if(circle.getRadius()>1) circle.setRadius(circle.getRadius()-1); System.out.println(\ } } } }

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4