Problème java

Fermé
tores17 Messages postés 4 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 18 avril 2014 - Modifié par KX le 18/04/2014 à 18:54
tores17 Messages postés 4 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 18 avril 2014 - 18 avril 2014 à 20:17
SVP quelqu'un peut m'aider?
j'ai une interface pour un certain calcule mais pas de résultat pourtant il y'a pas un message d'erreur.
merci d'avance.

    Calcul calc=new Calcul();
    double a0 = 0;
double a1 = 0;
double a2 = 0;
double a3 = 0;
int Lbody = 0;
double snr;
double sensibilite;
    int nrb =1;
    double Rrb;
    int Rreq = 0 ;
    double im = 0 ;
    double sm = 0 ;
        String bw=calc.jComboBox1.getSelectedItem()+"";
       String serv=calc.jComboBox2.getSelectedItem()+"";
       String chmodel=calc.jComboBox5.getSelectedItem()+"";
       String chargecell=calc.jComboBox4.getSelectedItem()+"";
       String typezone=calc.jComboBox3.getSelectedItem()+"";
        switch(bw){
            case "1.4":
                nrb=6;
                break;
                case "3":
                    nrb=15;
                    break;
                case "5":
                    nrb=25;
                    break;
                case "10": 
                     nrb=50;
                    break;
                    case "15": 
                     nrb=75;
                    break;
                        case "20": 
                     nrb=100;
                    break;
        }
        switch(serv){
            case "DATA":
                Rreq=1000;
                break;
            case "VoIP":
                Rreq=64;
                Lbody=3;             
                break;
                case "Video":
                Rreq=384;
                break;
        }
           Rrb=Rreq/nrb;
           
           switch(chmodel){
            case "epa5":
                a0=536.6;
                a1=20.76;
                a2=13.28;
                a3=0;
                break;
            case "eva70":
                a0=533.1;
                a1=23.91;
                a2=13.74;
                a3=0;
                break; 
                case "etu300":
                a0=376.2;
                a1=20.15;
                a2=12.41;
                a3=0;
                break;                                           
           }  
             
           switch(chargecell){
            case "35%":
                im=1;
                break;
            case "40%":
                im=1.3;
                break;
             case "50%":
                im=1.8;
                break;
                  case "60%":
                im=2.4;
                      break;
                 case "70%":
                im=2.9;             
                break;
                      case "80%":
                im=3.3;
                break;
                           case "90%":
                im=3.7;
                break;
          case "100%":
                im=4.2;
                break;                      
           }
             switch(typezone){
            case "Urbaine":
                sm=7.9;
                break;
            case "Suburbaine":
                sm=7.9;
                break; 
                case "Rurale":
                sm=4.4;
                break; 
           
             }    
           
        String p=jTextField1.getText();
        String g=jTextField2.getText();
       int PUE=Integer.parseInt(p);
        int Ga=Integer.parseInt(g);
        
         snr=a1-a2*(Math.sqrt(Math.log((a0-a3)/(Rrb-a3))/Math.log(2)));
                            
        sensibilite=-171.7447+snr;  
        int loss=6+Lbody;
      double margin=im+sm;
      double mapl=PUE-sensibilite-loss-margin+Ga;
      String maplul=String.valueOf(mapl);
      jTextField5.setText(maplul);
A voir également:

3 réponses

tores17 Messages postés 4 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 18 avril 2014
18 avril 2014 à 19:34
le résultat NaN :/
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
18 avril 2014 à 20:10
Bonjour,

Si ton résultat est NaN c'est que tu as bien un résultat !

Tu obtiens "Not a Number" lorsque tes calculs sont faux, par exemple si tu fais la racine carré ou le logarithme d'un nombre négatif, ou si tu divises zéro par zéro.

Exemple :

public static void main(String[] args)
{
    System.out.println(Math.sqrt(-1)); // NaN
    System.out.println(Math.log(-1));  // NaN
    System.out.println(0.0/0);         // NaN
    System.out.println(Double.NaN-1);  // Nan
}

Il faut donc que tu débogues ton programme et identifier à quel moment tu obtient le premier NaN pour savoir quelle opération est mauvaise.
0
tores17 Messages postés 4 Date d'inscription vendredi 18 avril 2014 Statut Membre Dernière intervention 18 avril 2014
18 avril 2014 à 20:17
Merciii infiniment déjà je suis entrain de vérifier ou se trouve le mauvais calcul ;)
0