Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
879 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème de non-compilation

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de non-compilation

n°2256145
jakarta
Posté le 20-04-2015 à 09:29:23  profilanswer
 

Bonjour,
 
Dans le cadre d'un projet scolaire nous devons réaliser l'étude de l'impact du déplacement d'une source chauffante sur un corps. Nous avons écrit le programme, et nous voulons sortir comme résultat un tableau. Cependant, la compilation est défaillante (pas de bug detecté mais aucun résultat ne s'affiche) et nous ne comprenons pas pourquoi.
 
Voici le code :
 

Code :
  1. package calcnum;
  2. /**
  3. *
  4. * @author ELEVE
  5. */
  6. public class CalcNum {
  7.     public static float[][] calculTemperature(float distance,float epaisseur, float rau, float lambda, float capaciteCalo, float hConduction, float tempAmbiant, float fluxChaleur)
  8. {
  9. float deltaT=0.2f; float deltaX=1/5000f; float deltaY=1/1000f; float vitesse=0.005f;
  10. float rX=lambda*deltaT/(rau*capaciteCalo*deltaX*deltaX);  float rY=lambda*deltaT/(rau*capaciteCalo*deltaY*deltaY);
  11. int ligneT = (int)(distance/deltaX);
  12. int colonneT = (int)(epaisseur/deltaY);
  13. float[][] T=new float[ligneT][colonneT];
  14. float[][] Tn=new float[ligneT][colonneT];
  15. float temps=0;
  16. for(int i=0; i<ligneT;i++){
  17.    
  18.     for(int j=0;j<colonneT;j++){
  19.         T[i][j]=tempAmbiant;
  20.         Tn[i][j]=tempAmbiant;
  21.     }
  22. }
  23. while(temps<=140){
  24.    
  25.     Tn[0][0]=T[0][0]+rX*(2*T[1][0]-2*T[0][0]-hConduction*2*deltaX*(T[0][0]-tempAmbiant)/lambda)+rY*(2*T[0][1]-2*T[0][0]-hConduction*2*deltaY*(T[0][0]-tempAmbiant)/lambda);
  26.     Tn[ligneT-1][0]=T[ligneT-1][0]+rX*(2*T[ligneT-2][0]-2*T[ligneT-1][0]-hConduction*2*deltaX*(T[ligneT-1][0]-tempAmbiant)/lambda)+rY*(2*T[ligneT-1][1]-2*T[ligneT-1][0]-hConduction*2*deltaY*(T[ligneT-1][0]-tempAmbiant)/lambda);
  27.     if(temps>20){      //zone 8 sans chauffage
  28.                 Tn[0][colonneT-1]=T[0][colonneT-1]+rX*(2*T[1][colonneT-1]-2*T[0][colonneT-1]-hConduction*2*deltaX*(T[0][colonneT-1]-tempAmbiant)/lambda)+rY*(2*T[0][colonneT-2]-2*T[0][colonneT-1]-hConduction*2*deltaY*(T[0][colonneT-1]-tempAmbiant)/lambda);
  29.             }
  30.     else if (temps<=20){        //zone 8 avec chauffage
  31.                 Tn[0][colonneT-1]=T[0][colonneT-1]+rX*(2*T[1][colonneT-1]-2*T[0][colonneT-1]-hConduction*2*deltaX*(T[0][colonneT-1]-tempAmbiant)/lambda)+rY*(2*T[0][colonneT-2]-2*T[0][colonneT-1]+2*deltaY*fluxChaleur/lambda);
  32.             }
  33.    
  34.     if ( temps<120){      //zone 9 sans chauffage
  35.                 Tn[ligneT-1][colonneT-1]=T[ligneT-1][colonneT-1]+rX*(2*T[ligneT-2][colonneT-1]-2*T[ligneT-1][colonneT-1]-hConduction*2*deltaX*(T[ligneT-1][colonneT-1]-tempAmbiant)/lambda)+rY*(2*T[ligneT-1][colonneT-2]-2*T[ligneT-1][colonneT-1]-hConduction*2*deltaY*(T[ligneT-1][colonneT-1])/lambda);             
  36.             }
  37.    
  38.      else if (temps>=120){         //zone 9 avec chauffage
  39.                 Tn[ligneT-1][colonneT-1]=T[ligneT-1][colonneT-1]+rX*(2*T[ligneT-2][colonneT-1]-2*T[ligneT-1][colonneT-1]-hConduction*2*deltaX*(T[ligneT-1][colonneT-1]-tempAmbiant)/lambda)+rY*(2*T[ligneT-1][colonneT-2]-2*T[ligneT-1][colonneT-1]+2*deltaY*fluxChaleur/lambda);
  40.             }
  41.    
  42.     for(int i=0; i<ligneT;i++){
  43.         if(i<ligneT-1 && i>=1){     //zone3
  44.                
  45.                 Tn[i][0]=T[i][0]+rX*(T[i-1][0]+T[i+1][0]-2*T[i][0])+rY*(2*T[i][1]-2*T[i][0]-(hConduction*2*deltaY*(T[i][0]-tempAmbiant))/lambda);
  46.             }
  47.     else if( i>=(vitesse*temps+epaisseur)/deltaX && i<=(vitesse*temps+2*epaisseur)/deltaX){      // zone 7 avec chauffage
  48.                 Tn[i][colonneT-1]=T[i][colonneT-1]+rX*(T[i-1][colonneT-1]+T[i+1][colonneT-1]-2*T[i][colonneT-1])+rY*(2*T[i][colonneT-2]-2*T[i][colonneT-1]+2*deltaY*fluxChaleur/lambda);
  49.             }
  50.     else if(i<(vitesse*temps+epaisseur)/deltaX && i>(vitesse*temps+2*epaisseur)/deltaX){       //zone 7 sans chauffage
  51.                 Tn[i][colonneT-1]=T[i][colonneT-1]+rX*(T[i-1][colonneT-1]+T[i+1][colonneT-1]-2*T[i][colonneT-1])+rY*(2*T[i][colonneT-2]-2*T[i][colonneT-1]-hConduction*2*deltaY*(T[i][colonneT-1]-tempAmbiant)/lambda);
  52.             }
  53.     for(int j=0;j<colonneT;j++){
  54.            
  55.              if( j<colonneT-1 && j>=1){     //zone2
  56.                 Tn[0][j]=T[0][j]+rX*(2*T[1][j]-2*T[0][j]-hConduction*2*deltaX*(T[0][j]-tempAmbiant)/lambda)+rY*(T[0][j-1]+T[0][j+1]-2*T[0][j]);
  57.             }
  58.             else if(j<colonneT-1 && j>=1){    //zone 4
  59.                 Tn[ligneT-1][j]=T[ligneT-1][j]+rX*(2*T[ligneT-2][j]-2*T[ligneT-1][j]-hConduction*2*deltaX*(T[ligneT-1][j]-tempAmbiant)/lambda)+rY*(T[ligneT-1][j+1]+T[ligneT-1][j-1]-2*T[ligneT-1][j]);
  60.             }
  61.          
  62.             else if(i>=1 && i<= ligneT-2 && j>=1 && j<=colonneT-2){      //zone 1
  63.                 Tn[i][j]=T[i][j]+rX*(T[i-1][j]+T[i+1][j]-2*T[i][j])+rY*(T[i][j-1]+T[i][j+1]-2*T[i][j]);
  64.             }
  65.          
  66.            
  67.          
  68.            
  69.            
  70.            
  71.     }
  72.  
  73. }
  74. temps= temps+deltaT;
  75. for(int i=0; i<ligneT;i++){
  76.    
  77.     for(int j=0;j<colonneT;j++){
  78.         T[i][j]=Tn[i][j];
  79.        
  80.     }
  81. }
  82. }
  83. return T;
  84. }
  85.     /**
  86.      * @param args the command line arguments
  87.      */
  88.     public static void main(String[] args) {
  89.         for(int i=0;i<calculTemperature(0.7f,0.1f,1000,10,5000,5,20,1000).length;i++){
  90.             for(int j=0;j<calculTemperature(0.7f,0.1f,1000,10,5000,5,20,1000)[i].length; j++){
  91.              System.out.print(" "+calculTemperature(0.7f,0.1f,1000,10,5000,5,20,1000)[i][j]); 
  92.         }
  93.             System.out.print("\n" );
  94.         }
  95.      
  96.                
  97.                 // TODO code application logic here
  98.     }
  99. }


 
 
Merci d'avance pour votre aide,

mood
Publicité
Posté le 20-04-2015 à 09:29:23  profilanswer
 

n°2256176
Arl Guhr
Posté le 20-04-2015 à 12:58:23  profilanswer
 

Tu ne sais pas executer une seul fois ton calcul : calculTemperature(0.7f,0.1f,1000,10,5000,5,20,1000)
 
Stocker son résultat et ensuite afficher ce que tu as stocké?
 
Pcq de ma compréhension, pour afficher la première valeur, il faut déjà que le calcul soit fait 3 fois :/
 
Edit : Après pour rentrer dans vos éléments, sans voir le problème et les équations écrites, c'est un peu compliqué. :/


Message édité par Arl Guhr le 20-04-2015 à 13:02:31

---------------
il s'appel le ronge me doute

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème de non-compilation

 

Sujets relatifs
problème de compilationProbleme de compilation sur Javascool
[resolu] problème compilation programmes C sous Dev-C++Probleme compilation MacOSX
probléme d'installation et compilation de QWT sous netbeans[C][OSX][LibSDL] Compilation OK, mais problème d'exécution...
Probleme de Compilation (switch)Problème de compilation
[RESOLU] Problème compilation Visual C++Probléme de compilation
Plus de sujets relatifs à : Problème de non-compilation


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR