A voir également:
- Blocage sur fonction avec tableau en paramètre en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Tableau word - Guide
- Fonction si et - Guide
- Tableau ascii - Guide
3 réponses
Bonjour
Pour poster un code, il faut faire comme décrit là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pour poster un code, il faut faire comme décrit là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
package fr.elthe.programme; public class Main { public static void main(String[] args) { System.out.println("fonctionne stp"); } public static void aro(int [][] M, int [][] A, int [][] G, int K, int S){ if(K==0){ return; } int aks=A[K][S]; aro(M,A,G,K-1,S-aks); System.out.println("entrepot =" + K ); System.out.println("stock livré =" + aks); System.out.println("gain=" + G[K-1][aks]); } static int [][][] calculerMA (int [][] G){ int n=G.length, S=G[0].length-1; int [][] M = new int [n+1][S+1], A=new int[n+1][S+1]; for(int i =0; S<S+1;S++){ for(int k=1;k<n+1;k++){ for(int s=0;s<n+1;s++){ M[k][s]=-100000000; for(int sp=1;sp<s+1;sp++){ int mksp=M[k-1][s-sp]+G[k-1][sp]; if(mksp>M[k][s]){ M[k][s]=mksp; A[k][s]=sp; } } } } } return new int[][][]{M,A}; } }
Bonjour,
Un programme Java commence toujours par la méthode
Pour que ton programme utilise tes deux méthodes, celles-ci doivent donc être appelées par la méthode main, et vu qu'elles utilisent des paramètres il faudra d'abord créer des valeurs à mettre dans ces paramètres. De plus, il faudra récupérer le résultat de tes méthodes et les afficher, sinon tu ne saura pas ce qu'il s'est passé.
Java n'est pas un langage magique, il fera tout ce que tu lui demandes, mais il faut d'abord lui demander tout ce que tu veux faire.
Un programme Java commence toujours par la méthode
public static void main(String[] args)mais la tienne ne fait qu'une chose
System.out.println("fonctionne stp");. Tout le reste n'étant jamais appelé par la méthode main (ni directement, ni transitivement), c'est du code mort dans lequel le programme n'ira jamais.
Pour que ton programme utilise tes deux méthodes, celles-ci doivent donc être appelées par la méthode main, et vu qu'elles utilisent des paramètres il faudra d'abord créer des valeurs à mettre dans ces paramètres. De plus, il faudra récupérer le résultat de tes méthodes et les afficher, sinon tu ne saura pas ce qu'il s'est passé.
Java n'est pas un langage magique, il fera tout ce que tu lui demandes, mais il faut d'abord lui demander tout ce que tu veux faire.
Je vois bien qu'il faut l'appeler dans la méthode main mais je n'arrive pas à comprendre comment écrire un paramètre qui est un tableau 2D. Je ne vois pas comment écrire les valeurs que je veux mettre dedans.
Sinon c'est ça :
package fr.elthe.programme;
public class Main {
public static void main(String[] args) {
System.out.println("fonctionne stp");
}
public static void aro(int [][] M, int [][] A, int [][] G, int K, int S){
if(K==0){
return;
}
int aks=A[K][S];
aro(M,A,G,K-1,S-aks);
System.out.println("entrepot =" + K );
System.out.println("stock livré =" + aks);
System.out.println("gain=" + G[K-1][aks]);
}
static int [][][] calculerMA (int [][] G){
int n=G.length, S=G[0].length-1;
int [][] M = new int [n+1][S+1], A=new int[n+1][S+1];
for(int i =0; S<S+1;S++){
for(int k=1;k<n+1;k++){
for(int s=0;s<n+1;s++){
M[k][s]=-100000000;
for(int sp=1;sp<s+1;sp++){
int mksp=M[k-1][s-sp]+G[k-1][sp];
if(mksp>M[k][s]){
M[k][s]=mksp;
A[k][s]=sp;
}
}
}
}
}
return new int[][][]{M,A};
}
}
Tu peux modifier ton message en cliquant sur les 3 … en bas à droite.
Et avec une image, on ne peut pas copier ton code pour le tester.