Créer un jar exécutable
Étienne9
Messages postés
1090
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
Je ne parviens pas à créer un jar exécutable.
Pouvez-vous m'aider s'il vous plaît ?
Fichier MANIFEST.MF qui est dans le dossier META-INF :
Main-Class: etienne.bintonum
Code :
package etienne.bintonum;
import java.util.Scanner;
import java.lang.String;
public class Bintonum
{
public static void main (String[ ] args)
{
int i, result, a;
String resultch;
char[] tab;
System.out.println("Donner un chiffre ou un nombre binaire");
result = (new Scanner(System.in)) .nextInt();
resultch = result + "";
tab = new char[resultch.length()];
tab = resultch.toCharArray();
result = 0;
resultch = "";
for (i=tab.length-1;i>=0;i--) {
a = Integer.parseInt(tab[i] + "");
result = (int) (result + a * Math.pow(2,tab.length-1-i));
}
System.out.println(result);
}
}
Merci beaucoup.
<config>Windows Vista / Firefox 11.0</config>
Je ne parviens pas à créer un jar exécutable.
Pouvez-vous m'aider s'il vous plaît ?
Fichier MANIFEST.MF qui est dans le dossier META-INF :
Main-Class: etienne.bintonum
Code :
package etienne.bintonum;
import java.util.Scanner;
import java.lang.String;
public class Bintonum
{
public static void main (String[ ] args)
{
int i, result, a;
String resultch;
char[] tab;
System.out.println("Donner un chiffre ou un nombre binaire");
result = (new Scanner(System.in)) .nextInt();
resultch = result + "";
tab = new char[resultch.length()];
tab = resultch.toCharArray();
result = 0;
resultch = "";
for (i=tab.length-1;i>=0;i--) {
a = Integer.parseInt(tab[i] + "");
result = (int) (result + a * Math.pow(2,tab.length-1-i));
}
System.out.println(result);
}
}
Merci beaucoup.
<config>Windows Vista / Firefox 11.0</config>
A voir également:
- Créer un jar exécutable
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Creer un fichier .bat - Guide
2 réponses
Le fichier Manifest doit contenir le nom de la classe, et finir par un saut de ligne :
workspace\etienne\bintonum\Bintonum.java
workspace\manifest.txt :
workspace\make.cmd :
workspace\etienne\bintonum\Bintonum.java
workspace\manifest.txt :
Main-Class: etienne.bintonum.Bintonum
workspace\make.cmd :
javac etienne\bintonum\Bintonum.java jar cvmf manifest.txt Bintonum.jar etienne\bintonum\Bintonum.class java -jar Bintonum.jar pause
Pour info, en regardant ton code, toute cette partie là :
Peut se simplifier sur une ligne :
De plus, il est nettement plus efficace de faire :
int result; String resultch; char[] tab; result = (new Scanner(System.in)) .nextInt(); resultch = result + ""; tab = new char[resultch.length()]; tab = resultch.toCharArray();
Peut se simplifier sur une ligne :
char[] tab = String.valueOf(new Scanner(System.in).nextInt()).toCharArray();
De plus, il est nettement plus efficace de faire :
int a = tab[i] - '0';Que :
int a = Integer.parseInt(tab[i] + "");Enfin, plutôt que de calculer Math.pow(2,tab.length-1-i) pour chaque i, il serait judicieux d'avoir une variable entière qui calcule incrémentalement la puissance.