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();
}
}
效果图:
第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);
}
}
输出结果: