Java
starweb2585
Messages postés
18
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonsoir,
j'ai fait une interface avec java netbeans et je veux entrer une matrice manuellement pour cela il faut crée une petite fenêtre pour saisir les valeurs de la matrice mais comment faire pour que a chaque saisi et après le clique sur le button (suivant)il faut on passe a la valeur suivant jusqu'un quand termine la matrice ?
merci d'avance
j'ai fait une interface avec java netbeans et je veux entrer une matrice manuellement pour cela il faut crée une petite fenêtre pour saisir les valeurs de la matrice mais comment faire pour que a chaque saisi et après le clique sur le button (suivant)il faut on passe a la valeur suivant jusqu'un quand termine la matrice ?
merci d'avance
A voir également:
- Java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java bible - Forum Téléchargement
5 réponses
voici une partie de la matrice:
protected int mat[][] = new int[26][26];
private JPanel pan=new JPanel();
private JButton b= new JButton();
private int N;
private JFrame fr=new JFrame();
private JTextField Textf= new JTextField(10);
private JTextArea texta=new JTextArea();
///////////////////////////////////////////////////////////////////////////////////
protected void creation_matrice_auto()
{
if(choix==true)
{
int j=0,i=0,i1,j1;
while (j < N)
{ i1=j+1;j1=j+1;
while (i1 < N)
{
mat[i][j1]=(int)((dist_max-1)*Math.random()+1);
i1++;j1++;
}
j++;i++;
}
}
}
else { fenetre fr=new fenetre(); }
/////////////////////////////////////////////////////////////////////////
public class fenetre extends superclass implements ActionListener {
private JPanel pan=new JPanel();
private JButton b= new JButton();
private int t,k;
private JFrame fr=new JFrame();
private JTextField textf= new JTextField(10);
private JTextArea texta=new JTextArea();
public fenetre()
{
N=Integer.parseInt(superclass.jTextField1.getText());
fr.setTitle("saisir matrice manualement");
fr.setSize(300, 300);
fr.setLocationRelativeTo(null);
b.setText("suivant");
pan.add(b);
pan.add(textf);
pan.add(texta);
fr.setContentPane(pan);
fr.setVisible(true);
b.addActionListener(this);
int j=0,i=0;
while (j < N)
{
int t=j+1,k=j+1;
while (t < N)
{
texta.append("distance ["+i+"]["+k+"]=");
if (b.isSelected()==true)
mat[i][j]=Integer.parseInt(textf.getText());
}
j++;i++;
}
}
//////////////////////////////////////////////////////////////////////////////////////////
public void actionPerformed(ActionEvent e) {
t++;k++;
throw new UnsupportedOperationException("Not supported yet.");
}
}
protected int mat[][] = new int[26][26];
private JPanel pan=new JPanel();
private JButton b= new JButton();
private int N;
private JFrame fr=new JFrame();
private JTextField Textf= new JTextField(10);
private JTextArea texta=new JTextArea();
///////////////////////////////////////////////////////////////////////////////////
protected void creation_matrice_auto()
{
if(choix==true)
{
int j=0,i=0,i1,j1;
while (j < N)
{ i1=j+1;j1=j+1;
while (i1 < N)
{
mat[i][j1]=(int)((dist_max-1)*Math.random()+1);
i1++;j1++;
}
j++;i++;
}
}
}
else { fenetre fr=new fenetre(); }
/////////////////////////////////////////////////////////////////////////
public class fenetre extends superclass implements ActionListener {
private JPanel pan=new JPanel();
private JButton b= new JButton();
private int t,k;
private JFrame fr=new JFrame();
private JTextField textf= new JTextField(10);
private JTextArea texta=new JTextArea();
public fenetre()
{
N=Integer.parseInt(superclass.jTextField1.getText());
fr.setTitle("saisir matrice manualement");
fr.setSize(300, 300);
fr.setLocationRelativeTo(null);
b.setText("suivant");
pan.add(b);
pan.add(textf);
pan.add(texta);
fr.setContentPane(pan);
fr.setVisible(true);
b.addActionListener(this);
int j=0,i=0;
while (j < N)
{
int t=j+1,k=j+1;
while (t < N)
{
texta.append("distance ["+i+"]["+k+"]=");
if (b.isSelected()==true)
mat[i][j]=Integer.parseInt(textf.getText());
}
j++;i++;
}
}
//////////////////////////////////////////////////////////////////////////////////////////
public void actionPerformed(ActionEvent e) {
t++;k++;
throw new UnsupportedOperationException("Not supported yet.");
}
}
Salut,
Je suis obligé de faire une supposition:
Tu veux créér une matrice à 2 entrées chacune de 26 éléments, la première (valeur 0), la seconde (valeur 1)
int mat[][] = new int[26][26];
Maintenant voici ce que je suppose:
Dans la "première entrée" tu veux mettre les 26 premiers résultats et dans la seconde les 26 résultats suivants.
Pour écrire dans la 1ère entrée voici la syntaxe:
mat[num_element][0]=(int)((dist_max-1)*Math.random()+1);
Et pur la seconde:
mat[num_element][1]=(int)((dist_max-1)*Math.random()+1);
Voici donc ton code modifié:
Création auto:
<code>
int mat[][] = new int[26][26];
boolean choix = true;
int dist_max =53;
if(choix==true) // qui peut s'ecrire aussi (if choix) >>> true par dédaut
{
int j=0,i=0,i1,j1;
while (j < 26)
{
i1=0; // i1 = 0, puis 2, ..., puis 25
j1=j; // j1 = 0, puis 1
while (i1 <26)
{
dist_max--;
//mat[i][j1]=(int)((dist_max-1)*Math.random()+1);
mat[i1][j1]=(int)((dist_max)); // pour que ce soit plus parlant dans les println de contrôle
i1++; //j1++;
}
j++;i++;
if (i == 2) // il n'y a que 2 entrées )la 0 et la 1)
break;
}
// l'affichage de controle:
// même principe que pour l'écriture >>> mat[num_element][entree]
for (int iP = 0; iP <26;iP++)
{
System.out.println("Elt [" + iP + "][0] : " + mat[iP][0]);
System.out.println("Elt [" + iP + "][1] : " + mat[iP][1]);
}
}<\code>
Si ce n'est pas ce que tu veux et avant de voir la suite, explique moi ce qu'il faut mettre dans les entrées 0 et 1.
Cordialement,
Dan
Je suis obligé de faire une supposition:
Tu veux créér une matrice à 2 entrées chacune de 26 éléments, la première (valeur 0), la seconde (valeur 1)
int mat[][] = new int[26][26];
Maintenant voici ce que je suppose:
Dans la "première entrée" tu veux mettre les 26 premiers résultats et dans la seconde les 26 résultats suivants.
Pour écrire dans la 1ère entrée voici la syntaxe:
mat[num_element][0]=(int)((dist_max-1)*Math.random()+1);
Et pur la seconde:
mat[num_element][1]=(int)((dist_max-1)*Math.random()+1);
Voici donc ton code modifié:
Création auto:
<code>
int mat[][] = new int[26][26];
boolean choix = true;
int dist_max =53;
if(choix==true) // qui peut s'ecrire aussi (if choix) >>> true par dédaut
{
int j=0,i=0,i1,j1;
while (j < 26)
{
i1=0; // i1 = 0, puis 2, ..., puis 25
j1=j; // j1 = 0, puis 1
while (i1 <26)
{
dist_max--;
//mat[i][j1]=(int)((dist_max-1)*Math.random()+1);
mat[i1][j1]=(int)((dist_max)); // pour que ce soit plus parlant dans les println de contrôle
i1++; //j1++;
}
j++;i++;
if (i == 2) // il n'y a que 2 entrées )la 0 et la 1)
break;
}
// l'affichage de controle:
// même principe que pour l'écriture >>> mat[num_element][entree]
for (int iP = 0; iP <26;iP++)
{
System.out.println("Elt [" + iP + "][0] : " + mat[iP][0]);
System.out.println("Elt [" + iP + "][1] : " + mat[iP][1]);
}
}<\code>
Si ce n'est pas ce que tu veux et avant de voir la suite, explique moi ce qu'il faut mettre dans les entrées 0 et 1.
Cordialement,
Dan
merci pour ta proposition mais je pense que ta pas compris mon problème
dans la 1 er parti il ya le saisi aleatoire il marche tres bien
mais il faut ajouté le saisi manual pour la matrice et pour cela il faut que je crée une fenetre pour que l'utilisateur puisse entré les valeurs de cette matrice au lieu de la faire a partir de consol
j'ai besoin surtout savoir comment faire pour que dans chaque saisi (après que l'utiliosateur clique sur le button (suivant) on passe à la valeur suivant jusqu'un quand termine la matrice ?
par exemple a l'ouverture de l'interface le textarea affiche : distance entre [0][0]=
et l'utilisateur entre la valeur dans textfield et puis il clique sur le button suivant pour passé a [0][1] ...ect
merci d'avance
dans la 1 er parti il ya le saisi aleatoire il marche tres bien
mais il faut ajouté le saisi manual pour la matrice et pour cela il faut que je crée une fenetre pour que l'utilisateur puisse entré les valeurs de cette matrice au lieu de la faire a partir de consol
j'ai besoin surtout savoir comment faire pour que dans chaque saisi (après que l'utiliosateur clique sur le button (suivant) on passe à la valeur suivant jusqu'un quand termine la matrice ?
par exemple a l'ouverture de l'interface le textarea affiche : distance entre [0][0]=
et l'utilisateur entre la valeur dans textfield et puis il clique sur le button suivant pour passé a [0][1] ...ect
merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
D'accord,
ce n'est d'ailleurs pas une matrice de 2 entrées mais de 26 entrées...
pour le remplissage manuel, le problème c'est que la matrice mat est déjà déclarée en "dure":
int mat[][] = new int[26][26]; et étant donné qu'on ne peut pas modifier les dimensions d'un tableau (ou matrice), il faudrait soit utiliser un seconde matrice, soit récupérer la valeur N avant de déclarer mat:
N=Integer.parseInt(superclass.jTextField1.getText());
int mat[][] = new int[N][N]; EN SUPPOSANT QUE LE NOMBRE D'ENTRÉES EST LE MÊME QUE LE NOMBRE D'ELÉMENTS DE CHACUNE DE CES ENTRÉES.
Quant à la fin:
dans le listener après t++;k++; ajouter if(t ==N-1)
avertir par exemple à l'aide d'un message dans une boîte de dialogue que la saisie est terminée et passer à la suite qui peut être la sortie du programme ou l'utilisation de la matrice...
Si lutilisateur désire sortir avant avant que j soit égal à N-1, on pourait convenir d'entrer une valeur spéciale à tester au moment de récupérer l'entrée dans la boucle
while (t < N)
{
texta.append("distance ["+i+"]["+k+"]=");
if()
Cordialemenr,
Dan
D'accord,
ce n'est d'ailleurs pas une matrice de 2 entrées mais de 26 entrées...
pour le remplissage manuel, le problème c'est que la matrice mat est déjà déclarée en "dure":
int mat[][] = new int[26][26]; et étant donné qu'on ne peut pas modifier les dimensions d'un tableau (ou matrice), il faudrait soit utiliser un seconde matrice, soit récupérer la valeur N avant de déclarer mat:
N=Integer.parseInt(superclass.jTextField1.getText());
int mat[][] = new int[N][N]; EN SUPPOSANT QUE LE NOMBRE D'ENTRÉES EST LE MÊME QUE LE NOMBRE D'ELÉMENTS DE CHACUNE DE CES ENTRÉES.
Quant à la fin:
dans le listener après t++;k++; ajouter if(t ==N-1)
avertir par exemple à l'aide d'un message dans une boîte de dialogue que la saisie est terminée et passer à la suite qui peut être la sortie du programme ou l'utilisation de la matrice...
Si lutilisateur désire sortir avant avant que j soit égal à N-1, on pourait convenir d'entrer une valeur spéciale à tester au moment de récupérer l'entrée dans la boucle
while (t < N)
{
texta.append("distance ["+i+"]["+k+"]=");
if()
Cordialemenr,
Dan