java - 有什么方法可以简化我的 java 代码?
问题描述
我是这里的初学者。我试图确定用户是否给出了三角形的 3 个边,程序将检查它是什么类型的三角形。有什么方法可以在不使用高级代码的情况下缩短此代码?
这是我的代码。
double a = 13
double b = 8
double c = 7
double leg1, leg2, leg3;
if(a > b && a > c){
leg1 = Math.pow(a,2);
leg2 = Math.pow(b,2);
leg3 = Math.pow(c,2);
if(leg1 == leg2 + leg3) {
System.out.println("Right.");
}else if (leg1 > leg2 + leg3){
System.out.println("Obtuse.");
}else if (leg1 < leg2 + leg3){
System.out.println("Acute.");
}
}else if(b > a && b > c){
leg1 = Math.pow(b,2);
leg2 = Math.pow(a,2);
leg3 = Math.pow(c,2);
if(leg1 == leg2 + leg3) {
System.out.println("Right.");
}else if (leg1 > leg2 + leg3){
System.out.println("Obtuse.");
}else if (leg1 < leg2 + leg3){
System.out.println("Acute.");
}
}else if (c > a && c > b){
leg1 = Math.pow(c,2);
leg2 = Math.pow(a,2);
leg3 = Math.pow(b,2);
if(leg1 == leg2 + leg3) {
System.out.println("Right.");
}else if (leg1 > leg2 + leg3){
System.out.println("Obtuse.");
}else if (leg1 < leg2 + leg3){
System.out.println("Acute.");
}
}else{
System.out.println("You have entered an invalid triangle.");
}
解决方案
我认为这有点离题,但这次没关系。
本质上,您正在编写此代码段 3 次,因此必须将其封装在一个函数中
if(leg1 == leg2 + leg3) {
System.out.println("Right.");
}else if (leg1 > leg2 + leg3){
System.out.println("Obtuse.");
}else if (leg1 < leg2 + leg3){
System.out.println("Acute.");
}
可以是类似的东西
public void defineTriangle(double leg1, double leg2, double leg3){
if(leg1 == leg2 + leg3) {
System.out.println("Right.");
}else if (leg1 > leg2 + leg3){
System.out.println("Obtuse.");
}else if (leg1 < leg2 + leg3){
System.out.println("Acute.");
}
}
因此您的代码可以调用此函数的 3 次(或者,更好的是,调用此方法的 3 次)。
然后,您基本上生成 3 个数字作为输入,将它们从上到下排序,然后调用定义三角形的方法。
基本上你需要一个数组......
double a = 13;
double b = 8;
double c = 7;
double[] sides = {a,b,c};
Arrays.sort(sides);
defineTriangle(sides[0], sides[1], sides[2]);
但是,这种方法并不真正类似于 Java,因为它使用原语而不是对象。
推荐阅读
- c++ - 循环内奇怪的内存泄漏
- request - 我怎么称呼未来
在颤动中休息api? - poppler - pdf2HtmlEX - html 上的文本与源 pdf 不同
- tizen - 本机 Tizen 3.0 表盘严重错误。对待:2
- python - /post/106/ 处的 AttributeError
- caching - Apache NiFi 集群中的分布式地图缓存问题
- java - JavaFX LineChart delta 必须是正异常
- php - Ajax 从数据库中检查多个相同类型行的重复数据
- python - Google Sheets API 错误:invalid_user:机器人缺少项目编号
- python - 带有神经网络思维的简单逻辑回归