java编写图形界面需要用到swing等组件,可以在eclipse中安装windowbuilder来开发窗体,自动生成窗体代码租碰,然后自己再根据需要修改,如:
package mainFrame
import java.awt.EventQueue
import java.awt.event.MouseAdapter
import java.awt.event.MouseEvent
import javax.swing.ImageIcon
import javax.swing.JButton
import javax.swing.JCheckBox
import javax.swing.JFrame。
Java是一门面向对象御型消编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复镇知杂的编程。
public class Test013 {/**
* 编写液樱一个图形类MyGraphic。 1)它有两个基本属性:图形线条的颜色String lineColor和图形的填充颜色String
* fillColor。 2)设计矩形类CRectangle,有属性double rLong和宽double rWidth, 使用方法 float
* calCircum()可以返回矩形的周长,使用方法float calSquare()可以返回矩形的面积。
* 编写方法show(),显示图形的线条颜色和填充颜色,输出面积和方法。 3)设计圆形类CCircle,定义属性:半径double
* radius,可以通过同名方法计算周长和面积。 编写方法show(),显示图形的线条颜色和填充颜色,输出面积和方法。
* 4)编写出应用程序对CRectangle类和CCircle类进行验闹吵丛证。 完成上述要求即可
*/
public static void main(String[] args) {
MyGraphic rectangle = new CRectangle(10, 5)
rectangle.setFillColor("紫色")//设定矩形填充颜色
rectangle.setLineColor("白色")//设定矩形线条颜色
rectangle.show()
System.out.println("矩形周长 = " + rectangle.calCircum())
System.out.println("矩形面积 = " + rectangle.calSquare())
MyGraphic circle = new CCircle(3)
circle.setFillColor("红色")
circle.setLineColor("黄色")
circle.show()
System.out.println("园形周长 = " + circle.calCircum())
System.out.println("园形面积 = " + circle.calSquare())
}
}
/**
* 图形类
*
*/
abstract class MyGraphic {
private String lineColor// 图形线条的颜色
private String fillColor// 图形的填充颜色
public String getLineColor() {
return lineColor
}
public void setLineColor(String lineColor) {
this.lineColor = lineColor
}
public String getFillColor() {
return fillColor
}
public void setFillColor(String fillColor) {
this.fillColor = fillColor
}
public MyGraphic(String lineColor, String fillColor) {
this.lineColor = lineColor
this.fillColor = fillColor
}
public MyGraphic() {
}
/**
* 显示图碰明形的颜色
*/
public abstract void show()
/**
* 计算图形的周长
*/
public abstract float calCircum()
/**
* 计算图形的面积
*/
public abstract float calSquare()
}
/**
* 矩形类
*
*/
class CRectangle extends MyGraphic {
private double rLong// 长
private double rWidth// 宽
/**
* 通过构造函数为图形的属性赋值
*
* @param rLong
* @param rWidth
*/
public CRectangle(double rLong, double rWidth) {
this.rLong = rLong
this.rWidth = rWidth
}
/**
* @return 矩形的周长
*/
@Override
public float calCircum() {
return (float) (2 * (rLong + rWidth))
}
/**
* @return 矩形的面积
*/
@Override
public float calSquare() {
return (float) (rLong * rWidth)
}
@Override
public void show() {
System.out.println("矩形线条的颜色: " + super.getLineColor())
System.out.println("矩形填充颜色: " + super.getFillColor())
}
public double getrLong() {
return rLong
}
public void setrLong(double rLong) {
this.rLong = rLong
}
public double getrWidth() {
return rWidth
}
public void setrWidth(double rWidth) {
this.rWidth = rWidth
}
}
/**
* 圆形类
*
*/
class CCircle extends MyGraphic {
private double radius// 圆形半径
public CCircle(double radius) {
this.radius = radius
}
/**
* @return 圆形的周长
*/
@Override
public float calCircum() {
return (float) (2 * Math.PI * radius)
}
/**
* @return 圆形的面积
*/
@Override
public float calSquare() {
return (float) (Math.PI * radius * radius)
}
@Override
public void show() {
System.out.println("圆形线条的颜色: " + super.getLineColor())
System.out.println("圆形填充颜色: " + super.getFillColor())
}
public double getRadius() {
return radius
}
public void setRadius(double radius) {
this.radius = radius
}
}
1. 抽象形状类package com
//抽象的让衫形状类
public abstract class Shape{
}
2. 显示接口
package com
//接口
public interface IDisplay{
void display() //显示图形的基本信息
double getArea() //计算面积
double getGirth() //计算周长
}
3. 三角形类
package com.tri
import com.*
//三角形类
public class Triangle extends Shape implements IDisplay{
protected double a
protected double b
protected double c
public Triangle(double a, double b, double c){
this.a = a
this.b = b
this.c = c
}
@Override
public double getArea() {
double s = (a + b + c) / 2
return Math.sqrt(s*(s-a)*(s-b)*(s-c))
}
@Override
public double getGirth() {
return this.a + this.b + this.c
}
@Override
public void display() {
System.out.println("三角昌闭形")
System.out.println("边长:" + a + ", " + b + ", " + c)
}
}
4. 矩形类
package com.rec
import com.*
/耐滑裂/矩形类
public class Rectangle extends Shape implements IDisplay {
protected double width
protected double height
public Rectangle(double width, double height){
this.width = width
this.height = height
}
@Override
public double getArea() {
return this.width * this.height
}
@Override
public double getGirth() {
return 2 * ( this.width + this.height)
}
@Override
public void display() {
System.out.println("矩形")
System.out.println("宽:" + this.width + ", 高:" + this.height)
}
}
5. 圆类
package com.cir
import com.*
//圆类
public class Circle extends Shape implements IDisplay {
protected double radius
public Circle(double radius){
this.radius = radius
}
@Override
public double getArea() {
return Math.PI * this.radius * this.radius
}
@Override
public double getGirth() {
return 2 * Math.PI * this.radius
}
@Override
public void display() {
System.out.println("圆")
System.out.println("半径:" + this.radius)
}
}
6. 正多边形类
package com.mul
import com.*
//正多边形类
public class MulSide extends Shape implements IDisplay {
protected double side //边长
protected int n //边数
public MulSide(double side, int n){
this.side = side
this.n = n
}
@Override
public double getArea() {
return n * side * side * Math.tan((n-2) * Math.PI / (2 * n)) / 4
}
@Override
public double getGirth() {
return this.side * this.n
}
@Override
public void display() {
System.out.println("正多边形")
System.out.println("连长:" + this.side + ", 边数:" + this.n)
}
}
7. 主类(测试类)
package com
import java.util.Scanner
import com.cir.Circle
import com.mul.MulSide
import com.rec.Rectangle
import com.tri.Triangle
public class Test22 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in)
double a, b, c
double width, height
double radius
double side
int n
IDisplay s
System.out.println("请输入三角形的基本信息")
System.out.print("边长1:")
a = scan.nextDouble()
System.out.print("边长2:")
b = scan.nextDouble()
System.out.print("边长3:")
c = scan.nextDouble()
s = new Triangle(a, b, c)
s.display()
System.out.println("三角形的面积:" + s.getArea())
System.out.println("三角形的周长:" + s.getGirth())
System.out.println("请输入矩形的基本信息")
System.out.print("宽:")
width = scan.nextDouble()
System.out.print("高:")
height = scan.nextDouble()
s = new Rectangle(width, height)
s.display()
System.out.println("矩形的面积:" + s.getArea())
System.out.println("矩的周长:" + s.getGirth())
System.out.println("请输入圆的基本信息")
System.out.print("半径:")
radius = scan.nextDouble()
s = new Circle(radius)
s.display()
System.out.println("圆的面积:" + s.getArea())
System.out.println("圆的周长:" + s.getGirth())
System.out.println("请输入正多边形的基本信息")
System.out.print("边长:")
side = scan.nextDouble()
System.out.print("边数:")
n = scan.nextInt()
s = new MulSide(side, n)
s.display()
System.out.println("正多边形的面积:" + s.getArea())
System.out.println("正多边形的周长:" + s.getGirth())
}
}
运行测试:
请输入三角形的基本信息
边长1:3
边长2:4
边长3:5
三角形
边长:3.0, 4.0, 5.0
三角形的面积:6.0
三角形的周长:12.0
请输入矩形的基本信息
宽:3
高:4
矩形
宽:3.0, 高:4.0
矩形的面积:12.0
矩的周长:14.0
请输入圆的基本信息
半径:2
圆
半径:2.0
圆的面积:12.566370614359172
圆的周长:12.566370614359172
请输入正多边形的基本信息
边长:2
边数:6
正多边形
连长:2.0, 边数:6
正多边形的面积:10.39230484541326
正多边形的周长:12.0
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)