[java] som+=(float)1/i;

Fermé
domxaline - 12 mars 2010 à 11:40
 domxaline - 12 mars 2010 à 12:03
Bonjour,
package Application1;
import java.util.Scanner;
public class Racine
{
  public static void main (String[] args)
  {
    Scanner sc=new Scanner(System.in);
    int nt;   //nombre de termes de la serie harmonique
    int i;
    float som;//pour la somme de la serie
    do
	 {
	  System.out.println("combien de termes:");
        nt=sc.nextInt();
	 }
	 while(nt<1);
       for(i=1,som=0;i<=nt;i++)som+=(float)1/i;
	 System.out.println("Somme des: "+nt+" premiers termes="+som);
  }
}


dans ces codes quelqu'un peut expliquer la ligne suivantes
for(i=1,som=0;i<=nt;i++)som+=(float)1/i;

surtout ceci
som+=(float)1/i;
A voir également:

3 réponses

som+=(float)1/i;
revient a faire :
som = som + (float)1/i
0
latoopa Messages postés 258 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 5 janvier 2012 32
12 mars 2010 à 11:59
for(i=1,som=0;i<=nt;i++)


Alors ca c'est une déclaration de boucle for, les conditions étant séparée par des ;

i=1 => c'est l'initialisation de ta variable de boucle (som=0 met som a 0 mais j'ai jamais vu une double opération au départ...)

i<=nt => la boucle "reboucle" tant que i est inférieur ou égal à nt

i++ => in ajoute 1 à la valeur de i a chaque fois qu'on reboucle


som+=(float)1/i;


Ca c'est (comme dit précédemment) : som = som + (float)1/i
0
ça veut dire
le som converti en float et puis fait l'opération 1/i n'est ce pas?
0