Application java
ibtihel
-
beber005 -
beber005 -
Bonjour,
j'ai un problème avec une application en java qui fait le tri d'une chaîne de caractère donné en paramètre voila le code :
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class fenetre extends JFrame {
private JComboBox liste;
String[]tab=new String[100];
private JTextField field1;
public fenetre(){
super();
build();//On initialise notre fenêtre
}
private void build(){
setTitle("Tri d'un tableau"); //On donne un titre à l'application
setSize(300,200); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(false); //On interdit la redimensionnement de la fenêtre
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
setContentPane(buildContentPane());
}
private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.setBackground(Color.WHITE);
field1 = new JTextField();
field1.setColumns(10);
panel.add(field1);
liste = new JComboBox(new OperateursModel());
panel.add(liste);
JButton bouton = new JButton(new TriAction(this, "TRIER"));
panel.add(bouton);
JLabel label = new JLabel();
panel.add(label);
return panel;
}
public JTextField getField1(){
return field1;
}
public OperateursModel getModelOperateurs(){
return (OperateursModel)liste.getModel();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
fenetre inst = new fenetre ();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
}
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
public class OperateursModel extends DefaultComboBoxModel {
private ArrayList<String> operateurs;
public OperateursModel(){
super();
operateurs = new ArrayList<String>();
operateurs.add("Tri Fusion");
operateurs.add("Tri par comptage");
operateurs.add("Tri par selection");
operateurs.add("Tri par insertion ");
}
public String getSelectedOperateur(){
return (String)getSelectedItem();
}
@Override
public Object getElementAt(int index) {
return operateurs.get(index);
}
@Override
public int getSize() {
return operateurs.size();
}
@Override
public int getIndexOf(Object element) {
return operateurs.indexOf(element);
}
}
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Icon;
import javax.swing.JOptionPane;
public class TriAction extends AbstractAction {
private fenetre fenetre;
public TriAction(fenetre fenetre,String texte){
super(texte);
this.fenetre = fenetre;
}
public void actionPerformed(ActionEvent e) {
String nombre1String = fenetre.getField1().getText();//On récupère la valeur dans le premier champ
String operateur = fenetre.getModelOperateurs().getSelectedOperateur();
char[] resultat = new char[nombre1String.length()] ;
int n=nombre1String.length();
if ("Tri par insertion".equals(operateur)){
resultat = Tri.TriInnsertion(nombre1String,n) ;
for (int l=0; l<resultat.length;l++)
System.out.println(""+resultat[l]);
}
JOptionPane.showMessageDialog(null,resultat);
}
}
public class Tri {
public static char[] TriInnsertion(String ch,int n){
int limTrie;
char aPlacer;
int placeTrouver;
int j;
char vect[]=new char [n];
for (int i=0;i<n;i++)
{
char d=ch.charAt(i);
vect[i]=d;
}
for(limTrie=1;limTrie < n;limTrie++){
aPlacer = vect[limTrie];
j = limTrie-1;
if(vect[j] < aPlacer){
placeTrouver = 1;
}
else{
placeTrouver = 0;
}
while((j >= 0) &&( placeTrouver == 0)){
vect[j+1] = vect[j];
j = j-1;
if(j >= 0){
if(vect[j] < aPlacer)
placeTrouver = 1;
}
else{
placeTrouver = 1;
}
}
vect[j+1] = aPlacer;
}
for (int l=0; l<vect.length;l++)
System.out.println(vect[l]);
return vect;
}
}
j'ai un problème avec une application en java qui fait le tri d'une chaîne de caractère donné en paramètre voila le code :
import java.awt.Color;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class fenetre extends JFrame {
private JComboBox liste;
String[]tab=new String[100];
private JTextField field1;
public fenetre(){
super();
build();//On initialise notre fenêtre
}
private void build(){
setTitle("Tri d'un tableau"); //On donne un titre à l'application
setSize(300,200); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(false); //On interdit la redimensionnement de la fenêtre
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
setContentPane(buildContentPane());
}
private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
panel.setBackground(Color.WHITE);
field1 = new JTextField();
field1.setColumns(10);
panel.add(field1);
liste = new JComboBox(new OperateursModel());
panel.add(liste);
JButton bouton = new JButton(new TriAction(this, "TRIER"));
panel.add(bouton);
JLabel label = new JLabel();
panel.add(label);
return panel;
}
public JTextField getField1(){
return field1;
}
public OperateursModel getModelOperateurs(){
return (OperateursModel)liste.getModel();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
fenetre inst = new fenetre ();
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
}
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
public class OperateursModel extends DefaultComboBoxModel {
private ArrayList<String> operateurs;
public OperateursModel(){
super();
operateurs = new ArrayList<String>();
operateurs.add("Tri Fusion");
operateurs.add("Tri par comptage");
operateurs.add("Tri par selection");
operateurs.add("Tri par insertion ");
}
public String getSelectedOperateur(){
return (String)getSelectedItem();
}
@Override
public Object getElementAt(int index) {
return operateurs.get(index);
}
@Override
public int getSize() {
return operateurs.size();
}
@Override
public int getIndexOf(Object element) {
return operateurs.indexOf(element);
}
}
import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.Icon;
import javax.swing.JOptionPane;
public class TriAction extends AbstractAction {
private fenetre fenetre;
public TriAction(fenetre fenetre,String texte){
super(texte);
this.fenetre = fenetre;
}
public void actionPerformed(ActionEvent e) {
String nombre1String = fenetre.getField1().getText();//On récupère la valeur dans le premier champ
String operateur = fenetre.getModelOperateurs().getSelectedOperateur();
char[] resultat = new char[nombre1String.length()] ;
int n=nombre1String.length();
if ("Tri par insertion".equals(operateur)){
resultat = Tri.TriInnsertion(nombre1String,n) ;
for (int l=0; l<resultat.length;l++)
System.out.println(""+resultat[l]);
}
JOptionPane.showMessageDialog(null,resultat);
}
}
public class Tri {
public static char[] TriInnsertion(String ch,int n){
int limTrie;
char aPlacer;
int placeTrouver;
int j;
char vect[]=new char [n];
for (int i=0;i<n;i++)
{
char d=ch.charAt(i);
vect[i]=d;
}
for(limTrie=1;limTrie < n;limTrie++){
aPlacer = vect[limTrie];
j = limTrie-1;
if(vect[j] < aPlacer){
placeTrouver = 1;
}
else{
placeTrouver = 0;
}
while((j >= 0) &&( placeTrouver == 0)){
vect[j+1] = vect[j];
j = j-1;
if(j >= 0){
if(vect[j] < aPlacer)
placeTrouver = 1;
}
else{
placeTrouver = 1;
}
}
vect[j+1] = aPlacer;
}
for (int l=0; l<vect.length;l++)
System.out.println(vect[l]);
return vect;
}
}
A voir également:
- Application java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Application java - Télécharger - Langages
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Desinstaller application windows - Guide