The problem,

Write an application that reads three nonzero values entered by the user and determines and prints whether they could represent the sides of a triangle.

I currently have

```import java.util.Scanner;
public class FourDecimalThirtySix {
public static void main (String[] args) {

Scanner input = new Scanner(System.in);
System.out.print("Enter three sizes, speparated by spaces");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.nextDouble();
input.close();

if ( (a + b) > c) {
if ( (a + c) > b) {
if ( (b + c) > a)
System.out.printf("A triangle can be made of %.2f, %.2f, by %.2f.", a,
b, c);
return;
}
}
}
}
```

I am trying to add an else statement to this for it to say “these values cannot make a triangle” if the original conditions are not meet. Currently the program does not do anything if the 3 conditions are not met

If any condition is not met the code should print “these values cannot make a triangle”. So you just need to add `else` blocks for each `if` statement.

Code:-

```import java.util.Scanner;

public class FourDecimalThirtySix {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter three sizes, speparated by spaces");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.nextDouble();
input.close();

if ( (a + b) > c) {
if ( (a + c) > b) {
if( (b + c) > a)
System.out.printf("A triangle can be made of %.2f, %.2f, by %.2f.", a,
b, c);
else{
System.out.println("these values cannot make a triangle");
return;
}
}
else{
System.out.println("these values cannot make a triangle");
return;
}
}
else{
System.out.println("these values cannot make a triangle");
return;
}
}

}

```

The above approach is not recommended, as it uses return statements that end the function process abruptly.

A wiser approach is to use a single `if` with `logical and` operators and a single corresponding else block.

Code:-

```import java.util.Scanner;

public class FourDecimalThirtySix {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter three sizes, speparated by spaces");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.nextDouble();
input.close();

if((a+b) > c && (a+c) > b && (b+c) > a) {
System.out.printf("A triangle can be made of %.2f, %.2f, by %.2f.%n", a, b, c);
}
else{
System.out.println("these values cannot make a triangle");
}

}

}
```

This is a cleaner approach.

Happy coding!

6 People found this is helpful