Un int méthode qui renvoie un double
J'ai essayé de rechercher en ligne et regardez des livres pour celui-ci, mais je ne peux pas trouver une solution. Partout où je regarde avec le type de retour int
, les variables de paramètre doit également être int
, et la variable de retour doit également être un integer
. Mais mes devoirs indique qu'il doit être un int
méthode qui retourne un double
.
Jusqu'à présent voici ce que j'ai:
import java.util.Scanner;
public class ConvertF {
public static void main(String args[]){
int n =0;
Scanner s = new Scanner(System.in);
System.out.println("How many feet do you wish to convert to miles?");
n = s.nextInt();
System.out.println("Passing values to ConverToMiles");
ConvertToMiles(422, 142);
System.out.printf(feet + "feet equals %2.2n miles", miles);
}
public static int ConvertToMiles(int feet, double miles){
int answer;
double f = (double)feet;
answer = feet/5280;
double a = (double)answer;
return answer;
}
}
S'il vous plaît aidez-moi avec un soupçon ou d'une solution. Merci beaucoup.
- Quel est exactement votre problème/question? Vous pouvez certainement avoir une méthode qui prend un entier et renvoie un double.
- Pourquoi ne pouvez-vous pas juste
write public static double ConvertToMiles(int feet, double miles)
? - Je ne comprends pas pourquoi vous pensez qu'il renvoie un double, je n'ai pas vu vous de prendre la valeur de retour de ConvertToMiles
- Moi aussi, je suis confus. Pourquoi avez-vous passer un
miles
paramètreConvertToMiles
?
Vous devez vous connecter pour publier un commentaire.
Tout ce que vous devez faire est de changer
à
Et ensuite modifier la méthode de sorte qu'il n'est pas de convertir les ints tellement. Lorsque vous faire de l'arithmétique avec un lit double et un int, le type de retour de l'expression est un double, à moins que vous le lancez.
Rien de mystérieux, les types des paramètres et le type de retour n'ont aucun rapport les uns aux autres.
Ok, donc il y a pas mal de problèmes dans ce programme. Le code devrait ressembler à quelque chose le long des lignes de:
Veuillez lire les commentaires pour mieux comprendre comment les choses fonctionnent.
Notez aussi que j'ai changé de méthode pour
convertToMiles
au lieu deConvertToMiles
. C'est juste un java convention qui contribue à rendre votre code plus facile à lire, surtout quand il grandit en taille.Espère que cette aide, et bon codage 🙂
De traduire à partir de "...mais mes devoirs indique qu'il doit être un int méthode qui renvoie un double..." en Java, l'instructeur signifie:
Une solution de votre question pourrait être:
L'int méthode, le type de retour de la méthode est de type int. Les paramètres peuvent être tout autres.
Comme vous l'avez écrit:
public static int ConvertToMiles(int feet, double miles)
Le premier paramètre sera l'entrée et la seconde, de type double sera la sortie. La valeur de retour ne montre que si l'opération a réussi ou pas.
Seulement l'intérieur de la fonction a besoin pour remplir correctement.