Ваше первое условие, если ((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");