java编程创建circle类

1、按以下要求编写程序(1)创建一个Circle类,添加radius这个成员变量(2)在Circle中添加两种方法分别计算圆的周长和面积(3)编程利用Circle输出一个圆的周长和面积2、按以下要求编写程序(1)在窗口设置两个菜单"文件”、"编辑”(2)在"文件"菜单里添加三个菜单项"打开”、“保存”、“关闭”(3)在“编辑"菜单里添加两个菜单项”复制”、"粘贴”(4)点击关闭菜单项时,使程序关闭。

第二题:

package jin.li.yun.com.common.test;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * JFrame窗体
 *
 * @author ThinkPad
 * @since 2021/07/02
 */
public class MyFrameTest extends JFrame {

  private JMenu menuFile;
  private JMenu menuEdit;

  private JMenuBar mb;

  private JMenuItem itemSave;
  private JMenuItem itemCopy;
  private JMenuItem pasteCopy;
  private JMenuItem itemClose;
  private JMenuItem itemOpen;

  public MyFrameTest() {
    super("欢迎来到...");

    Container c = getContentPane();

    mb = new JMenuBar();

    menuFile = new JMenu("文件(F)");
    menuEdit = new JMenu("编辑(E)");

    // 添加文件菜单
    itemOpen = new JMenuItem("打开");
    itemOpen.setMnemonic('O');

    itemSave = new JMenuItem("保存");
    itemSave.setMnemonic('S');

    itemClose = new JMenuItem("关闭");
    itemClose.setMnemonic('C');

    //  添加编辑
    itemCopy = new JMenuItem("复制");

    pasteCopy = new JMenuItem("粘贴");

    // 添加监听事件
    menuFile.addActionListener(new HandLer());

    itemOpen.addActionListener(new HandLer());

    itemSave.addActionListener(new HandLer());

    itemCopy.addActionListener(new HandLer());

    pasteCopy.addActionListener(new HandLer());

    itemClose.addActionListener(new HandLer());

    // 添加菜单项
    menuFile.add(itemOpen);
    // 在菜单中添加分隔条
    menuFile.addSeparator();
    menuFile.add(itemSave);

    menuFile.addSeparator();
    menuFile.add(itemClose);

    menuEdit.add(itemCopy);
    menuEdit.addSeparator();
    menuEdit.add(pasteCopy);
    mb.add(menuFile);
    mb.add(menuEdit);
    // 设置菜单栏
    setJMenuBar(mb);

    final JLabel label = new JLabel();

    label.setBounds(0, 0, 0, 0);

    // 窗体背景
    label.setIcon(null);

    // 获取当前屏幕大小
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

    this.setBounds((screenSize.width - 400) / 2, (screenSize.height - 400) / 2, 400, 400);

    this.setVisible(true);
  }

  class HandLer implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
      JMenuItem mi = (JMenuItem) e.getSource();

      if (mi == itemClose) {
        // 退出程序
        System.exit(0);
      }
    }
  }

  public static void main(String[] args) {
    new MyFrameTest();
  }
}

效果图:
img

img

第1题:

/** Circle类 */
public class Circle {
  /** 圆周率π */
  private static final Double PAIN = 3.14;
  /** 圆半径 */
  private Double radius;

  public Circle() {}

  public Circle(Double radius) {
    this.radius = radius;
  }

  public Double getRadius() {
    return radius;
  }

  public void setRadius(Double radius) {
    this.radius = radius;
  }

  /**
   * 圆周长
   *
   * @return perimeter
   */
  public Double getPerimeter() throws Exception {
    if (this.radius < 0) {
      throw new Exception("半径不能小于0!!!");
    }
    return 2 * PAIN * this.radius;
  }

  /**
   * 圆面积 <br>
   * 圆面积公式π*r^2 : 即 PAIN * (radius * radius); <br>
   * 幂函数表示法: PAIN * Math.pow(radius,2);
   *
   * @return area
   */
  public Double getArea() throws Exception {
    if (this.radius < 0) {
      throw new Exception("半径不能小于0!!!");
    }
    return PAIN * Math.pow(this.radius, 2);
  }
}

测试类

public class MainTest {
  public static void main(String[] args) throws Exception {

    Scanner scanner = new Scanner(System.in);
    System.out.println("========输入半径后按回车键结束【ENTER】键===========");
    System.out.print("请输入圆半径radius: ");
    double radius = scanner.nextDouble();
    Circle circle = new Circle(radius);
    Double perimeter = circle.getPerimeter();
    System.out.println("圆周长: " + perimeter);
    Double area = circle.getArea();
    System.out.println("圆面积: " + area);
  }
}

输出结果:

img

img