2010-10-27 8 views
1

J'ai besoin d'écrire une méthode où le paramètre accepte un entier (n dans ce cas) et renvoie la somme des n premiers termes de la séquence comme valeur double. Alors dis-je mis fractionSums(5); la sortie seraitFraction du scanner fractionSum finish

1 + ... + 1/5 qui serait alors égale à quelque chose comme ~ 2,8333 (résultat final)

ce que j'ai maintenant.

public static void main(String[] args) { 
    fractionSums(5); 
} 

public static void fractionSums(int n) { 
    Scanner console = new Scanner(System.in); 

    System.out.print("How many terms do you have? "); 
    int totalterms = console.nextInt(); 
} 

Je suis coincé ici et je ne sais pas comment aller plus loin et où implémenter n. Comment me recommanderiez-vous de procéder à cela? Dois-je modifier cette question de toute façon?

Répondre

1

Essayez de placer le scanner dans main et println dans main. Vous devez créer une méthode (vous l'avez appelée fractionSums() ici) et l'appeler pour calculer la somme de la fraction et retourner un double (passer l'int n à la méthode). Cette méthode peut être récursive ou itérative, mais puisque vous dites "J'ai besoin d'écrire une méthode où le paramètre accepte un entier (n dans ce cas) et renvoie la somme des n premiers termes de la séquence," vous devriez rendre la méthode retourne quelque chose (soit un flotteur ou un double).

HTH :)

2

Écrivez votre entrée de manière plus explicite et un regard sur le modèle. Demandez-vous d'où viennent ces chiffres?

0

Définir une variable double pour contenir le résultat et l'initialiser à zéro. Vous devrez additionner les termes totalTerms. Vous pouvez commencer par écrire une boucle (par exemple, une boucle for) qui s'exécutera pour totalTerms itérations.

Dans l'itération 1, vous devez ajouter 1/1 au résultat. Dans l'itération 2, vous devez ajouter 1/2. Dans l'itération 3, vous devez ajouter 1/3, et ainsi de suite. Vous pouvez voir qu'il existe une relation entre le numéro d'itération et le terme que vous devez ajouter.