Erreur de compilation: type de Retour de la méthode est manquant
public class StoreRatioNumberClass
{
private int num;
private int den;
public RationalNumber() //here
{
num = 0;
den = 1;
}
public RationalNumber(int newNum, int newDen) //and here, but it gives me 3 separate errors for it//
{
num = newNum;
den = newDen;
simplify();
}
private void simplify()
{
int gcd = gcd();
finalNum = num/gcd;
finalDen = den/gcd;
}
private static int gcd(int a, int b)
{
if (b == 0)
return a;
else
return gcd(b, a % b);
}
public double getValue()
{
return (double)num/den;
}
public String toString()
{
return(num + "/" + den);
}
}
Ma question est comment puis-je résoudre ce problème de compilation sur les lignes 7 & 11? Cette classe prend les numérateurs et les dénominateurs sont entrés dans la méthode main de la classe n'est pas montrée ici et simplifie le nombre rationnel avec le PGCD. Aussi, quand je dois mettre dans un type de retour il vient juste avec encore plus d'erreurs et d'avertissements, donc je suis perplexe! Merci pour la recherche et l'ensemble de vos entrées.
- Votre classe est appelée
StoreRatioNumberClass
.
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser le nom de votre classe dans un constructeur:
sinon le compilateur va penser que vous êtes sur le point de déclarer une méthode et est confus au sujet de l'manquant type de retour évidemment
Votre
RationalNumber
méthodes de ne pas déclarer un type de retour. Le formulaire que vous utilisez n'est autorisé que pour les constructeurs. Si vous modifiez le nom de ces deux méthodes pourStoreRatioNumberClass
(c'est à dire, faire de la méthode le nom correspond au nom de la classe pour les rendre valides les constructeurs), vos erreurs du compilateur devrait aller.Vous avez nommé votre classe StoreRatioNumberClass, comme dans la suite de la déclaration de classe
Je crois que vous étiez en train de définir les constructeurs de cette classe, dans les lignes le compilateur se plaint. Les constructeurs doivent avoir le même nom que la classe, autrement, ils sont interprétés comme des noms de méthodes (telles que votre
simplify
). Cependant, ces fausses définitions de méthode manquer leur type de retour.Changement
à