public class Main
{
    public static void main(String[] args)
    {
        SignedText s1 = new SignedText("John", "Doe");
        SignedText s2 = new SignedText("", "Smith");

        System.out.println(s1.getSignature());
        System.out.println(s2.getSignature());

        System.out.println(s1.addSignature("Hello "));
        System.out.println(s1.addSignature("J-Doe"));
        System.out.println(s1.addSignature("J-DoeHello "));
    }
}

class SignedText
{
    private String firstName;
    private String lastName;

    public SignedText(String first, String last)
    {
        firstName = first;
        lastName = last;
    }

    public String getSignature()
    {
        if (firstName.equals(""))
        {
            return lastName;
        }
        return firstName.substring(0, 1) + "-" + lastName;
    }

    public String addSignature(String str)
    {
        String sig = getSignature();

        if (str.indexOf(sig) == -1)
        {
            return str + sig;
        }

        if (str.endsWith(sig))
        {
            return str;
        }

        return str.substring(sig.length()) + sig;
    }
}

Main.main(null);

J-Doe
Smith
Hello J-Doe
J-Doe
Hello J-Doe