导航:首页 > 编程语言 > java程序100

java程序100

发布时间:2024-01-02 09:16:16

java100行以上源代码,至少五个class以及一个interface,可以简单点

下面是一个可能的Java源代码,它包含了一个接口租冲薯(Shape)和五个类(Circle, Rectangle, Triangle, Square 和 Main)。它的功能是计算不同形状的面积和周长。
//定义一个接口Shape,有两判指个抽象方法:getArea()和getPerimeter()interface Shape { double getArea(); double getPerimeter();
}//定义一个类Circle,实现Shape接口class Circle implements Shape { //定义一个私有属性radius,表示圆的半径
private double radius; //定义一个公有构造方法,用于初始化radius
public Circle(double radius) { this.radius = radius;
} //实现getArea()方法,返回圆的面积
public double getArea() { return Math.PI * radius * radius;
} //实现getPerimeter()方法,返回圆的周长
public double getPerimeter() { return Math.PI * radius * 2;
}
}//定义一个类Rectangle,实现Shape接口class Rectangle implements Shape { //定义两个私有属性width和height,表示矩形的宽度和高度
private double width; private double height; //定义一个公有构造方法,用于初始化width和height
public Rectangle(double width, double height) { this.width = width; this.height = height;
} //实现getArea()方法,返回矩形的面积
public double getArea() { return width * height;
} //实现getPerimeter()方法,返回矩形的周长
public double getPerimeter() { return (width + height) *2;
}
}//定义一个类Triangle,实现Shape接口class Triangle implements Shape { //定义三个私有属性a,b,c表示三角形的三条边长
private double a; private double b; private double c; //定义一个公有构造方法,用于初始化a,b,c,并检查是否满足三角形条件(任意两边之和大于第三边)
public Triangle(double a, double b, double c) throws Exception{ if (a + b > c && a + c > b && b + c > a) {
this.a = a; this.b = b;
this.c = c;
} else {
throw new Exception("Invalid triangle");
}
} //实现getArea()方法,返回三角形的面积(使用海伦公式)
public double getArea() { //计算半周长p
double p = (a + b + c) /2; //计算并返回面积s(使用Math.sqrt()函数求平方根)
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
} //实现getPerimeter()方法,返回三角形的周长
public double getPerimeter(){ return a + b + c;
}
}//定义一个类Square,继承Rectangle类,并重写构造方法和toString()方法class Square extends Rectangle { //重写构造方法,在调用父类构造方法时传入相弊者同的参数side作为width和height
public Square(double side){ super(side, side);
} //重写toString()方法,在原来基础上加上"Square:"前缀,并只显示side属性而不显示width和height属性(使用String.format()函数格式化字符串)
@Override
public String toString(){ return String.format("Square: side=%.2f", super.width); /* 或者直接使用super.getPerimeter()/4作为side */
/* return String.format("Square: side=%.2f", super.getPerimeter()/4); */

/* 注意:不能直接访问super.side属性,

㈡ [急!]java 求100阶乘各位数的和 已有答案,求解释!

import java.math.BigDecimal; //导入包
public class DigitFactorial //定义类
{
public static void main(String[] args)
{
BigDecimal big = new BigDecimal(1); //声明一个BigDecimal对象

int i = 1;
while(i <= 100) //在i小于或等于100的时候执行下面的语句
{

big = big.multiply(new BigDecimal(i++)); //每次都用i的阶乘的结果取乘以i+1,得到i+1
//的阶乘,比如:i=1时, //big=1*2 时, big=1*2*3,最后得到100的阶乘
}

String str = big.toString(); //把100的阶乘转换成字符串

System.out.println("Result: " + str); //输出

int sum = 0;
for(i = 0; i < str.length();i++) //当i在0到str.length()之间时执行,也就是遍历//str 的每一个字符
{
sum += Integer.parseInt(String.valueOf(str.charAt(i))); //把每一个字符都换成整数再相加,得到所有数的和
}

System.out.println("Sum is: " + sum); //输出

}
}

BigDecimal和BigInteger用法的区别:
BigDecimal返回的是小数,可以进行四舍五入,用的较多;
BigInteger返回的是整数,用的较少
其他没多少区别

阅读全文

与java程序100相关的资料

热点内容
一号玩家app怎么换绑 浏览:322
emm平台源码 浏览:328
从网页下载资料服务器地址 浏览:404
安卓用什么播放器可以看港剧 浏览:455
keil5一编译axf就缺失了 浏览:506
现代电机控制技术pdf 浏览:449
手机系统加密形同虚设是真的吗 浏览:739
电视怎么连接播放app 浏览:680
pdf怎么转换成word工具 浏览:865
c语言程序员成长 浏览:887
火影忍者手游助手app怎么下 浏览:832
1997年四川空气压缩机厂 浏览:161
思科配置保存命令是什么 浏览:11
python培训知乎 浏览:755
作业文件夹怎么收藏 浏览:529
安卓系统如何授权悬浮窗 浏览:977
压缩包加密可以用汉语吗 浏览:948
ip池源码 浏览:490
缓解压力大放松一下的地方 浏览:928
工厂哪里用压缩空气 浏览:328