Tom's Guide > Forum > Programmation > [java] operateurs et portee

[java] operateurs et portee

Forum Programmation : [java] operateurs et portee

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

bonjour,

voici un petit programme que j'ai fait (il est a l'etat de squellette c juste pour avoir un axe de developpement) :

import ordinateur.*;
import java.util.*;

class Depouillement_des_elections_au_Senat {
public static void main(String args[])
{
ecran.afficher("Combien y-a-t-il de sièges au sénat ? : " );
int NombreDeSièges = clavier.lireUnInt();
ecran.afficher("Combien y-a-t-il eu de votes valides ? : " );
int NombreDeVotes = clavier.lireUnInt();
float QuotientSiège = NombreDeVotes / NombreDeSièges;
System.out.println(QuotientSiège);
ecran.afficher("Combien y-a-t-il de liste ? : " );
int NombreDeListes = clavier.lireUnInt();
String listes[] = new String [NombreDeListes];
int Votes[] = new int [NombreDeListes];
int Sièges[] = new int [NombreDeListes];
long Restes[] = new long [NombreDeListes];
for (int i = 0; i < listes.length; i++)
{
Arrays.fill(listes, "liste " + (i+1));
//ecran.afficher(listes[i]);
ecran.afficher("combien de votes à reçu la " + listes[i] + " ? :" );
Votes[i] = clavier.lireUnInt();
Sièges[i] = Votes[i]/(int)QuotientSiège;
Restes[i] = Votes[i]%(int)QuotientSiège;
}
/* for (int v = 0; v < Votes.length; v++)
{
System.out.println(Votes[v]);
}
*/
/*for (int v = 0; v < Votes.length; v++)
{
System.out.println(Sièges[v]);
}

}
*/
/*for (int v = 0; v < Votes.length; v++)
{
System.out.println(Restes[v]);
}
*/
}

}

*********************************************************

les operation inconnue vienne d'une package (ordinateur)

voila ma question a proprement parler :

comment faire pour avoir la precision la meilleur quand on veut le resultat de la division de deux int (ici en l'ocurence QuotientSiege)
en gros comment effectuer un calcul pour avoir exactement une reponse du genre :

987 / 65 = la reponse avec plein de chiffres derriere la virgule.

d'avance merci.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Salut demande a la fonction quotientsiege de renvoyer un float

Répondre à showie

je v essayer ça merci!

Répondre à Mastaking

Citation :


showie a écrit :
Alors?


Alors quoi de neuf docteur ?

Répondre à okinou

ouais, ça marche tranquil, merci pour le tip ^^

sinon voilà le programme :

import ordinateur.*;
import java.util.*;

public class ElectionAuSenat
{
public static void main(String args[])
{
ecran.afficher(" @@@@@**********- ELECTIONS AU SENAT -**********@@@@@ " );
ecran.afficher("" );
ecran.afficher("Bienvenu Dans le programme du TP4." );
ecran.afficher("Ce programme permet de simuler une Election au Sénat" );
ecran.afficher("" );
ecran.afficher(" Veuillez Appuyer sur ENTER pour commencer" );
int fake = clavier.lireUnInt();
ecran.afficher("Combien y-a-t-il de Sièges au Sénat ? : " );
int NombreDeSieges = clavier.lireUnInt();
ecran.afficher("Combien y-a-t-il de listes ? :" );
int NombreDeListes = clavier.lireUnInt();
ecran.afficher("Combien y-a-t-il eu de votes valides ? :" );
int NombreDeVotes = clavier.lireUnInt();
float Quotient = CalculDuQuotient( NombreDeVotes, NombreDeSieges);
//System.out.println(Quotient);
int NdesListes [] = new int [NombreDeListes];
int VotesListes[] = new int [NombreDeListes];
for (int i = 0; i < NdesListes.length; i++)
{
Arrays.fill(NdesListes, i+1);
//System.out.println(NdesListes[i]);
ecran.afficher("Combien de voies a reçu la liste " + NdesListes[i] + " ? :" );
VotesListes[i] = clavier.lireUnInt();

}

ecran.afficher(" Les Données ont bien été enregistrées et seront traitées " );
ecran.afficher(" Appuyez sur ENTER pour continuer " );
int fake2 = clavier.lireUnInt();
/*for (int v = 0; v < VotesListes.length; v++)
{
System.out.println(VotesListes[v]);
} */

int Sieges[];
Sieges = CalculDeSieges(VotesListes, Quotient, NombreDeListes);
int RestesSieges[];
RestesSieges = CalculDuResteDeSieges(VotesListes, Quotient, NombreDeListes);
/* for (int v = 0; v < Sieges.length; v++)
{
System.out.println(Sieges[v]);
} */
/* for (int v = 0; v < RestesSieges.length; v++)
{
System.out.println(RestesSieges[v]);
}*/

int Total;
Total = SommeDesSieges(Sieges);
//System.out.println(Total);
int SiègesManquants = NombreDeSieges - Total;
//System.out.println(SiègesManquants);
for (int i = 0; i < Sieges.length; i++)
{
Arrays.fill(NdesListes, i+1);
System.out.println(" La liste " + NdesListes[i] + " a obtenu : " + Sieges[i] + " Sièges" );
}
System.out.println("" );
System.out.println("" );
System.out.println(" Il reste " + SiègesManquants + " Sièges non répartis, mais le programme n'est pas encore fini" );
}



public static float CalculDuQuotient( int NombreDeVotes, int NombreDeSieges)
{
float Quotient = NombreDeVotes / NombreDeSieges;
return Quotient;
}

public static int[] CalculDuResteDeSieges(int VotesListes[], float Quotient, int NombreDeListes)
{
int RestesSieges[] = new int [NombreDeListes];
for (int i = 0; i < VotesListes.length; i++)
{
int Gain = VotesListes[i]%(int)Quotient;
RestesSieges[i] = Gain;
}
return RestesSieges;
}

public static int[] CalculDeSieges(int VotesListes[], float Quotient, int NombreDeListes)
{
int Sieges[] = new int [NombreDeListes];
for (int i = 0; i < VotesListes.length; i++)
{
int Gain = VotesListes[i]/(int)Quotient;
Sieges[i] = Gain;
}
return Sieges;
}

public static int SommeDesSieges(int Sieges[])
{
int Total = 0;
for (int i = 0; i < Sieges.length; i++)
{

int temp = Sieges[i];
Total = Total + temp ;
}
return Total;
}

}

Répondre à Mastaking
Tom's Guide > Forum > Programmation > [java] operateurs et portee
Aller à :

Il y a 2595 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens