Votre question

[java] operateurs et portee

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
9 Janvier 2006 23:17:48

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);
ecran.afficher("combien de votes à reçu la " + listes + " ? :");
Votes = clavier.lireUnInt();
Sièges = Votes/(int)QuotientSiège;
Restes = Votes%(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.

Autres pages sur : java operateurs portee

9 Janvier 2006 23:55:34

Salut demande a la fonction quotientsiege de renvoyer un float
10 Janvier 2006 12:38:58

je v essayer ça merci!
Contenus similaires
Pas de réponse à votre question ? Demandez !
11 Janvier 2006 00:05:07

Alors?
11 Janvier 2006 00:14:45

Citation :

showie a écrit :
Alors?

Alors quoi de neuf docteur ?
14 Janvier 2006 21:53:54

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);
ecran.afficher("Combien de voies a reçu la liste " + NdesListes + " ? :");
VotesListes = 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 + " a obtenu : " + Sieges + " 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%(int)Quotient;
RestesSieges = 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/(int)Quotient;
Sieges = Gain;
}
return Sieges;
}

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

int temp = Sieges;
Total = Total + temp ;
}
return Total;
}

}
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS