你有这个条件在顶部:'if((a + c)> =(b + d))'。 也许你正在输入一个= c和b = d,但它可能不符合这个条件'((a + c)> =(b + d)'这是第一个。由于它将走向其他第一个if语句的一部分。 有关更多详细信息,请分享您输入的值,也许我可以详细说明一下。
如果((a + c)> =(b + d))你的第一个条件对于矩形条件不正确,因为 对于矩形,两边相等。如果你总和(a + c)它看起来像两个小边值永远不等于两个大边(b + d)值。同样如果你改变a,c作为大边和b, d作为矩形条件的小边将与之前相同。所以你可以像波纹管一样改变
方形的样本输入 int a = 2,b = 2,c = 2,d = 2;
矩形的示例输入 int a = 2,b = 4,c = 2,d = 4;
样本输入 A = 10,B = 4,C = 6,d = 9
if ((a==c)||(b==d)) { if ((a==b) && (b==c) && (c==d)) { System.out.println("square"); } else if ( (a!=b) && (c!=d) && ( a== c) && (b == d)) { System.out.println("rectangle"); } else { System.out.println("Two sides are similar but not square or rectangle"); } } else System.out.println("Foure side are different");
如果要输入值a = c和b = d,则还必须检查a或c值是否大于b和d。 在您的情况下,a和c值小于b和d,因此如果语句不符合条件,则首先。
你可以尝试这个来理解。
public static void main(String[] args) { int a = 4,b =2 ,c =4 ,d =2; if ((a+c)>=(b+d)) { if ((a==b) && (b==c) && (c==d)) { System.out.println("square"); } else if ( (a!=b) && (c!=d) && ( a== c) && (b == d) ) { System.out.println("rectangle"); } else { System.out.println("four different sides"); } } else{ System.out.println("ERROR"); } }