Search code examples
javastringif-statementstring-length

how to print the longest of three strings?


Is there a quick way to select the longest of three strings (s1,s2,s3) using if/else method?

I'm using Java

I have tried using something like this

if (s1.length() > s2.length()) {
    System.out.println(s1); ...

but did not get it right.


Solution

  • Don't try to program all possible combinations with an if-else construct, as the complexity will grow exponentially if you add more strings.

    This solution works well for a small number of strings with a linear complexity:

    string longest = s1;
    if (s2.length() > longest.length()) {
        longest = s2;
    }
    if (s3.length() > longest.length()) {
        longest = s3;
    }
    System.out.println(longest);
    

    For a lager number of strings, put them in collection and find the longest using a loop.