Pourquoi mon programme n'initialise pas les variables?
Bonsoir!
J'essaye, pour m'entrainer à retenir les formules de stochastiques et en particulier les files d'attentes, de modéliser des files d'attentes et des calculs de temps d'attente en Java.
Tout allait bien jusqu'à ce que je lance la première execution:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
entrez le nombre de serveurs
1
entrez le taux d'arrivée des clients
2
entrez le nombre de personnes traitée pas unité de temps
3
entrez le nombre personne dont vous souhaiter avoir la probabilité de présence dans le système
3
le nombre moyen de clients dans le system E(L)0.0
Le nombre moyen de clients dans la queue E(Lq)0.0
Le temps moyen passé par les clients dans le système E(Lq)0.0
Le temps moyen passé par chaque client dans la file d'attente E(Wq)0.0 |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
package queue;
import java.util.Scanner;
import java.math.*;
public class TestQueue {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner keyb = new Scanner(System.in);
System.out.println("entrez le nombre de serveurs");
double nbServeurs = keyb.nextDouble();
System.out.println("entrez le taux d'arrivée des clients");
double lambda = keyb.nextDouble();
System.out.println("entrez le nombre de personnes traitée pas unité de temps");
double mu = keyb.nextDouble();
System.out.println("entrez le nombre personne dont vous souhaiter avoir la probabilité de présence dans le système");
int n = keyb.nextInt();
double rho=lambda/mu;
if(nbServeurs == 1){
MM1 mm1= new MM1(rho, mu, n);
mm1.toString();
System.out.println(mm1);
}else if(nbServeurs >=2 ){
}
else{
System.out.println("Erreur d'arguments, le nombre de serveurs doit être au moins supérieur à 0");
}
}
}
class MM1{
double rho;
double mu;
int n;
MM1(double rho, double mu, int n){
this.rho=rho;
this.mu=mu;
this.n=n;
}
double EL=rho/(1-rho);
double ELq=(rho*rho)/(1-rho);
double EW=1/(mu*(1-rho));
double EWq=mu/(1-mu);
double pi(int n){
double pi=(1-rho)*Math.pow(rho,n);
return pi;
}
public String toString(){
return "le nombre moyen de clients dans le system E(L)" + EL + "\n"
+ "Le nombre moyen de clients dans la queue E(Lq)" + ELq +"\n"
+"Le temps moyen passé par les clients dans le système E(Lq)" + ELq +"\n"
+"Le temps moyen passé par chaque client dans la file d'attente E(Wq)" + EWq;
}
}
class MMS{
double rho;
double mu;
double lambda;
int s;
int n;
double rhoPrime=rho*(1/s);
MMS(double rho, double mu, int s, int n){
this.rho=rho;
this.mu=mu;
this.s=s;
this.n=n;
}
FactorielSamples fonctionFactorielle= new FactorielSamples();
int nFactorielle= fonctionFactorielle.Factoriel(n);
double EL = 1/(Math.pow(rho, n)/nFactorielle);
public String toString(){
return "E(L)" + EL + "E(Lq)";
}
}
class FactorielSamples {
static int Factoriel(int n) {
return n > 1?n * Factoriel(n-1):1;
}
} |
Pouvez-vous m'aider à comprendre pourquoi je n'obtiens que des résultats nuls? Me suis-je trompé quelque part?