Probleme java

Bonjour,
je dois coder un programme qui calcule la somme des n premiers terme de la série harmonique (n donné) c'est à dire qu'on rentre la valeur de n et la somme sera égale à S=1+1/2+1/3+....+1/n
j'ai réussi à écrire un code qui affiche la somme le voici :

double S=0;
int n=0;
System.out.println("veuillez entrez la valeur de n");
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
for(float i=1; i<=n;i++) {
S=S+(1/i); }
System.out.println(S); // nous affiche la valeur de S
tout est bon mais le probleme c'est que je dois afficher à l'ècran par exemple (on prend n=3) :
S=1+1/2+1/3=1.83 j'arrive à afficher S=1.83 mais le S=1+1/2+1/3 je vois pas comment faire pouvez vous m'aider !! merci d'avance
Configuration: Windows Vista
Firefox 3.0.10

2 réponses

  1. Niveau performance c'est même mieux d'utiliser un stringbuffer qu'un string ( et c'est pas bien méchant à mettre en place).
    Mais bon c toi qui voit.

    http://java.sun.com/j2se/1.4.2/docs/api/java/lang/StringBuffer.html
    1. Salut,

      si j'ai bien compris tu cherches à afficher la formule:

      et bien tu prends une variable de type String et dans la boucle tu ajoutes ton calcul à cette variable

      
      String calc = "S = ";
      
      for(int i=1;i<n;i++){
      
         S=S+(1/i);
         
         calc += "1/" + i + (i == n  ? "" : " + ");/*le test est là pour éviter de mettre un + lorsu'on est à la fin de la boucle*/
      }
      
      


      voilà, ce n'était pas grand chose