Posez votre question Signaler

Problème execution programme Java [Résolu]

John - Dernière réponse le 15 juin 2011 à 21:19
Bonjour,
J'ai lu quelques sujet à ce propos sans trouver une solution.
Je débute, voire même je n'ai aucune connaissance de Java, mais je comprends vite.
Voilà, j'ai trouvé un code pour un programme dont j'ai besoin pour un dossier, cependant je n'arrive pas à l'exécuter.
Je pense qu'il manque un petit détail mais quoi...?
Voici le code:
import java.lang.Math;  
import java.io.*; 
public class Frisbee {    
private static double x;    
private static double y;    
private static double vx;    
private static double vy;    
private static final double g = -9.81;    
private static final double m = 0.175;    
private static final double RHO = 1.23;    
private static final double AREA = 0.0568;    
private static final double CL0 = 0.1;    
private static final double CLA = 1.4;    
private static final double CD0 = 0.08;    
private static final double CDA = 2.72;    
private static final double ALPHA0 = -4;    
public static void simulate(double y0, double vx0, double vy0,    
double alpha, double deltaT)    
{    
double cl = CL0 + CLA*alpha*Math.PI/180;  
double cd = CD0 + CDA*Math.pow((alpha-ALPHA0)*Math.PI/180,2);    
x = 0;    
y = y0;    
vx = vx0;    
vy = vy0;    
try {    
PrintWriter pw = new PrintWriter(new BufferedWriter     
(new FileWriter("frisbee.csv")));    
int k = 0;    
while(y>0){    
double deltavy = (RHO*Math.pow(vx,2)*AREA*cl/2/m+g)*deltaT;    
double deltavx = -RHO*Math.pow(vx,2)*AREA*cd*deltaT;    
vx = vx + deltavx;    
vy = vy + deltavy;    
x = x + vx*deltaT;    
y = y + vy*deltaT;    
if(k%10 == 0) {    
pw.print(x + "," + y + "," + vx);    
pw.println();    
pw.flush();    
}    
k++;    
}    
pw.close();    
}    
catch(Exception e){    
System.out.println("Error, file frisbee.csv is in use.");}    
}    
}    


Et voici le rapport du "Terminal":

Exception in thread "main" java.lang.NoSuchMethodError: main

Si quelqu'un pouvait m'aider, ce serait bénéfique pour mon travail.
Merci d'avance.
Lire la suite 

Problème execution programme Java »

16 réponses
Réponse
+1
moins plus
Tu as oublier les import au début du code :

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.PrintWriter;

Et il y a une erreur dans la boucle while, car "cl" n'existe pas, c'est "cd"

double deltavy = (RHO*Math.pow(vx,2)*AREA*cd/2/m+g)*deltaT;
KX- 15 juin 2011 à 20:53
C'est parce que tu as modifié le code, il ne fallait pas enlever cette ligne :

public static void simulate(double y0, double vx0, double vy0, double alpha, double deltaT)

Regarde mon code juste au dessus, il ne devrait pas y avoir de problème avec...
John - 15 juin 2011 à 21:10
D'accord, je comprends mieux maintenant.

Je copie/colle sans rien rajouter à ton code alors, bien que je ne comprends pas certaines lignes, mais tu en connais bien plus que moi là dessus ^^

Merci de ton aide, vraiment et de ta patience.
John - 15 juin 2011 à 21:19
Ca marche ! Enfin !

Merci pour le temps que tu m'as consacré :)
Ajouter un commentaire
Ce document intitulé « Problème execution programme Java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?