Problème execution programme Java
Résolu
John
-
John -
John -
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:
Et voici le rapport du "Terminal":
Si quelqu'un pouvait m'aider, ce serait bénéfique pour mon travail.
Merci d'avance.
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.
A voir également:
- Problème execution programme Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
Les "import" je les avais également oubliés.
Merci de ta réponse.
Par contre, ma question a changé à vrai dire. J'ai réussi à passer du .java au .class, mais j'ai un nouveau souci: le programme ne s'exécute pas et le Terminal m'affiche:
Je vais essayer les import que tu m'as indiqué
EDIT: J'ai essayé avec les import que tu m'as indiqué et j'obtiens toujours le même message...
Voici ce que j'ai au début:
PS: Les 2 premiers import je ne sais pas à quoi ils correspondent en fait.
import java.io.* inclus toutes les librairies de java.io, du coup tu n'a plus besoin des trois derniers imports mais ça peux parfois poser problème si tu utilises une classe qui est nommée de la même manière plusieurs fois dans java.io. Le mieux est d'enlever tout ce qui est en import * et de spécifier à chaque fois ce qui manque...
Concernant l'erreur de main, c'est tout simplement que tu n'en as pas !!!
Rajoute ce code, en modifiant les 0 par les paramètres que tu veux...
Tu peux aussi faire comme ceci, tu passeras alors les paramètres en ligne de commandes
java Frisbee 0 0 0 0 0
J'ai bien rajouté le code que tu m'as indiqué (le 1er), seulement nouveau problème (une histoire sans fin?).
Le terminal ne veut pas transformer le .java en .class et indique:
Or simulate doit prendre obligatoirement 5 arguments...
Après chez moi le fichier CSV est vide, mais c'est peut-être à cause des 0, est-ce que tu aurais des valeurs à me proposer ?