Compliation errror as -
com/codegym/task/task06/task0621/Solution.java:75: error: missing return statement
}
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String GrandfatherName = reader.readLine();
Cat catGrandFather = new Cat(GrandfatherName);
String GrandmotherName = reader.readLine();
Cat catGrandMother = new Cat(GrandmotherName);
String fatherName = reader.readLine();
Cat catFather = new Cat(fatherName,null,catGrandFather);
String motherName = reader.readLine();
Cat catMother = new Cat(motherName,catGrandMother,null);
String sonName = reader.readLine();
Cat catSon = new Cat(sonName,catMother,catFather);
String daughterName = reader.readLine();
Cat catDaughter = new Cat(daughterName, catMother,catFather);
System.out.println(catGrandFather);
System.out.println(catGrandMother);
System.out.println(catFather);
System.out.println(catMother);
System.out.println(catSon);
System.out.println(catDaughter);
}
public static class Cat {
private String name;
// private Cat parent;
private Cat mother;
private Cat father;
Cat(String name) {
this.name = name;
}
/* Cat(String name, Cat parent) {
this.name = name;
this.parent = parent;
}*/
Cat(String name, Cat mother,Cat father) {
this.name = name;
this.mother = mother;
this.father = father;
}
@Override
public String toString() {
if ((mother == null) && (father == null))
return "The cat's name is " + name + ", no mother,no father ";
else if ((mother== null) && (father!= null))
return "The cat's name is " + name + ", no mother, " + father.name + " is the father";
else if ((mother != null) && (father == null))
return "The cat's name is " + name + ", " + mother.name + " is the mother, no father";
else if ((mother != null) && (father != null))
return "The cat's name is " + name + ", " + mother.name + " is the mother, " + father.name + " is the father";
}
}
}
Giving Compilation error,I checked but not able to catch error
Under discussion
Comments (1)
- Popular
- New
- Old
You must be signed in to leave a comment
Khurram
10 December 2018, 16:03
the toString method expects a return statement which returns a String, but here all the return statements are within if blocks, if the conditions are all false, the method will not return anything, so the compiler makes sure that there should be at least one scenario which returns a String, you could change the last else-if to an else only
+2