Search code examples
javareturnreturn-value

Method not returning a string


I am getting an error. The method should return a string. I am new to java and am just learning to solve an anagram problem.

import java.util.*;

class FindDuplicates
{   
    public String findAnagram(String sc)
    {
        for(int i=0;i<sc.length();i++)
        {
            for(int j=i+1;j<sc.length();j++)
            {
                if(sc.charAt(i)==sc.charAt(j))
                {  
                    String a;
                    a="anagram";
                    return a;
                }
                else
                {
                    String b;
                    b="not anagram";
                    return b;
                }


            }

        }

    }
public static void main(String args[])
{
    Findduplicates f=new FindDuplicates();
    System.out.println("Enter a string");
    Scanner s=new Scanner(System.in);
    String sc=s.nextLine();
    f.findAnagram(sc);
    }
}

I tried returning true/false and I got the output but now I am getting an error.


Solution

  • Note: your logic to find anagram is wrong. The compilation issue will be solved with below code -

    public String findAnagram(String sc) {
        String anagramOutput = "putWhateverYouWantToPut";
        for (int i = 0; i < sc.length(); i++) {
            for (int j = i + 1; j < sc.length(); j++) {
                if (sc.charAt(i) == sc.charAt(j)) {
                    anagramOutput = "anagram";
                } else {
                    anagramOutput = "not anagram";
                }
                return anagramOutput;
            }
        }
        return anagramOutput;
    }