用java语言编写程序按照题目来回答

一、定义一个圆形类,要求 1、有一个私有成员变量r; 2、定义两个构造方法(带两个参数不带参数) 3、定义一组设置存取r的方法 4、定义两个方法(求面积、求周长); 5、重写toString方法(输出:“圆(r)"); 6、重写equal方法(当两个圆r相等时为真); 7、自定义异常类,创建圆对象中当圆半径等于零时抛出自定义异常; 8、定义一个测试类完成如下要求!(1)利用随机方法创建若干圆对象保存到数据文件。 (2)读出文件中所有圆对象并计算输出圆面积最小值。 (3)对可能出现的异常进行处理。

要求有点多呀,数据文件的格式有什么要求吗?

https://blog.csdn.net/weixin_39850150/article/details/114620411

package homework;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/*
 * 一、定义一个圆形类,要求 
 * 1、有一个私有成员变量r; 
 * 2、定义两个构造方法(带两个参数不带参数) 
 * 3、定义一组设置存取r的方法 
 * 4、定义两个方法(求面积、求周长); 
 * 5、重写toString方法(输出:“圆(r)"); 
 * 6、重写equal方法(当两个圆r相等时为真); 
 * 7、自定义异常类,创建圆对象中当圆半径等于零时抛出自定义异常; 
 * 8、定义一个测试类完成如下要求!
 * (1)利用随机方法创建若干圆对象保存到数据文件。 
 * (2)读出文件中所有圆对象并计算输出圆面积最小值。 
 * (3)对可能出现的异常进行处理。
 * */
public class TestCircle {

	public static void main(String[] args) throws Exception {
		Random rnd = new Random();
		List<Circle> list = new ArrayList<Circle>();
		for(int i=0;i<5;i++) {
			Circle c = new Circle();
			c.setR(rnd.nextDouble()*100);
			System.out.println(c);
			c.area();
			list.add(c);			
		}
		ObjectOutputStream ois = new ObjectOutputStream(new FileOutputStream(new File("data.dat"),true));
		ois.writeObject(list);
		ois.close();
	}
	
	
	
}
class Circle implements Serializable{
	private double r;

	public Circle() {
		
	}
	public Circle(double r) throws MyException {
		this.r = r;
		if(r ==0) {
			throw new MyException("圆半径不能等于零");
		}
	}
	public double getR() {
		return r;
	}

	public void setR(double r) throws MyException {
		if(r ==0) {
			throw new MyException("圆半径不能等于零");
		}
		this.r = r;
	}
	public void area() {
		System.out.println("圆的面积:"+(3.14*r*r));
	}
	
	@Override
	public String toString() {
		return "圆(r)="+this.r;
	}
	@Override
	public boolean equals(Object obj) {
		Circle c = (Circle)obj;
		if(c.r == this.r) {
			return true;
		}
		return false;
	}
}

class MyException extends Exception{

	String message;
	public MyException() {
		
	}
	public MyException(String message) {
		super(message);
		this.message = message;
	}
	@Override
	public String getMessage() {
		return "出错了: " + message;
	}
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632