上机实验题目
主要记录一下Java程序设计的上机实验题目,提供题目和代码,可以参考
本来是面向过程,没有仔细审题,有的写成了面向过程的。不过也是可以参考的。
三角形周长和面积
这个没什么好说的
主要有一个LegalityJudgment,合法性判断是否构成一个三角形。我把它加入在setLength里面,如果不是三角形,就无法赋值,如果是才能赋值。
另外就是鲁棒性的考量,能够支持多次输入,支持用户交互,这个是可以参考的。
import java.lang.*;
import java.util.Scanner;
public class Triangle {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
label:
while (true) {
System.out.println("请输入三角形的三条边长:");
double l1 = scanner.nextDouble();
double l2 = scanner.nextDouble();
double l3 = scanner.nextDouble();
scanner.nextLine();
TriangleClass triangle = new TriangleClass();
triangle.setlength(l1, l2, l3);
System.out.println("如果你想获取面积,请输入“面积”,如果向获取周长,请输入“周长”,如果想结束程序,输入“结束”");
String str = scanner.nextLine();
switch (str) {
case "面积":
System.out.println(triangle.getArea());
break;
case "周长":
System.out.println(triangle.getCircumference());
break;
case "结束":
break label;
default:
System.out.println("您的输入有误><,请重试");
break;
}
}
scanner.close();
}
}
class TriangleClass{
double l1;
double l2;
double l3;
//合法性判断
private boolean LegalityJudgment(double a,double b,double c){
return !(a + b <= c);
}
public void setlength(double a,double b,double c){
boolean sign = LegalityJudgment(a, b, c);
if(!sign) System.out.println("您的输入错误");
else{
this.l1 = a;
this.l2 = b;
this.l3 = c;}
}
public double getCircumference(){
return l1+l2+l3;
}
public double getArea(){
double p = getCircumference()/2;
return Math.sqrt(p*