Boa tarde a todos, sou iniciante em java , e com muita vontade em aprender.
Estou tentando criar um programinha simples que faça a seguinte Execução:
Abaixo já tem o Layout do Sistema para um melhor entendimento:
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
/*
- OrdenadorVetores.java
- Created on 31/03/2011, 09:31:12
*/
package vetores;
/**
*
-
@author Crazy
*/
public class OrdenadorVetores extends javax.swing.JFrame {QuickSort dados = new QuickSort();
/** Creates new form OrdenadorVetores */
public OrdenadorVetores() {
initComponents();
}/** This method is called from within the constructor to
-
initialize the form.
-
WARNING: Do NOT modify this code. The content of this method is
-
always regenerated by the Form Editor.
*/
@SuppressWarnings(“unchecked”)
//
private void initComponents() {jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
Vetor = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
Resultado = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jLabel5 = new javax.swing.JLabel();
QuickSorte = new javax.swing.JButton();
jLabel6 = new javax.swing.JLabel();
ResultadoOrdenado = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
jTextField2 = new javax.swing.JTextField();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jLabel1.setText(“Ordenador de Vetores:”);
jLabel2.setText(“Numero para ordenar a sua lista (Limite 10 valores):”);
jLabel3.setText(“Obs: para separar os valores use espaço ex: 10 20”);
jLabel4.setText(“Valores sem ordenação:”);
Resultado.setFont(new java.awt.Font(“Tahoma”, 1, 11));
Resultado.setForeground(new java.awt.Color(255, 0, 0));
Resultado.setText(“sem valores”);jButton1.setText(“MergeSort”);
jLabel5.setText(“Ordenar utilizando os Métodos:”);
QuickSorte.setText(“QuickSort”);
QuickSorte.setMaximumSize(new java.awt.Dimension(83, 23));
QuickSorte.setMinimumSize(new java.awt.Dimension(83, 23));
QuickSorte.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
QuickSorteActionPerformed(evt);
}
});jLabel6.setText(“Valores ordenados :”);
ResultadoOrdenado.setFont(new java.awt.Font(“Tahoma”, 1, 11));
ResultadoOrdenado.setForeground(new java.awt.Color(255, 0, 0));
ResultadoOrdenado.setText(“sem valores”);jLabel7.setText(“Valor Inicial”);
jTextField1.setText(“0”);
jLabel8.setText(“Valor Final:”);
jTextField2.setText(“10”);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(119, 119, 119)
.addComponent(jLabel1))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(Vetor, javax.swing.GroupLayout.PREFERRED_SIZE, 241, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel3))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(27, 27, 27)
.addComponent(QuickSorte, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(ResultadoOrdenado)
.addComponent(Resultado)))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jTextField1, javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jLabel4, javax.swing.GroupLayout.Alignment.LEADING))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField2)
.addComponent(jLabel8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
.addContainerGap(125, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1)
.addGap(25, 25, 25)
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Vetor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel7)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(Resultado)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel5)
.addGap(8, 8, 8)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(QuickSorte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(ResultadoOrdenado)
.addContainerGap(31, Short.MAX_VALUE))
);pack();
}//
private void QuickSorteActionPerformed(java.awt.event.ActionEvent evt) {
dados.v = Integer.parseInt(Vetor.getText());}
/**
-
@param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new OrdenadorVetores().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton QuickSorte;
private javax.swing.JLabel Resultado;
private javax.swing.JLabel ResultadoOrdenado;
private javax.swing.JTextField Vetor;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
// End of variables declaration -
}
[/code]
Nesse Layout acima minha ideia seria a pessoa colocaria 10 valores ( que entraria em um vetor… )
Nas opcoes Valor INicial e Final seria o contador dos Metodos que criei ( onde o 0 seria inicio e o 10 o fim do vetor )
No Lugar de Valores sem ordenação iria surgir os valores que a pessoa digito no inicio.
Ao Clicar em um dos botoes como exemplo: MargeSort ou QuickSorte ele puxaria o metodo executaria e mostraria abaixo o valores Ordenados ( utilizando um desses metodos ).
Abaixo já fiz o Metodo quickSort.
[code]/*
- To change this template, choose Tools | Templates
- and open the template in the editor.
*/
package vetores;
import java.util.Scanner;
/**
*
-
@author Crazy
*/
public class QuickSort {// public static int v[]={1,13,5,8,2,3,4,10,9,12,11};
public static int []v=new int[10];
public static Scanner entrada=new Scanner(System.in);
public static int i;
static QuickSort obj= new QuickSort();/*
public static void main(String[] args)
{System.out.println(“Digite os valores do vetor”);
for(i=0;i<v.length;i++)
{
v[i]=entrada.nextInt();
}System.out.println(“Dados sem ordenação”); //msg
for (int ni:v) //for aprimorado para mostrar valores que estao no Vetor Inicial
{
System.out.print(ni+ " ");// msg
}obj.quickSort(v, 0, v.length-1); System.out.println("\nDados Ordenados pelo QuickSort"); //ordenado for (int ni=0;ni < v.length;ni++) // mensagem para mostrar como que ficou a ordenaçao { System.out.print(v[ni]+ " "); } System.out.println();
}*/
/*
public static void main(String[] args)
{
QuickSort qs = new QuickSort(); //inicio um Objeto da classe mesmo
System.out.println("Dados sem ordenação"); //msg
for (int ni:v) //for aprimorado para mostrar valores que estao no Vetor Inicial
{
System.out.print(ni+ " ");// msg
}
qs.quickSort(v, 0, 10); //vou adicionar no metodo da nossa classe Primeiro o VETOR, Inicio, e o tamanho final
System.out.println("\nDados Ordenados pelo QuickSort"); //ordenado
for (int ni=0;ni < v.length;ni++) // mensagem para mostrar como que ficou a ordenaçao
{
System.out.print(v[ni]+ " ");
}
System.out.println();
}
*/
public void setVetor(int[] vetor)
{
obj.quickSort(vetor, 0,10);
}
public void quickSort (int[] c, int a, int j) // vai receber os valores adicionados la em cima
{
int i=a, b=j,h; //variavel a = o valor 0 de la em cima, b=fim(tamanho vetor), h auxiliar
int x=c[a]; //x vai receber o vetor que definimos la em cima
do
{
while (c[i]<x)//a posicao do vetor for menor que a primeira posição do vetor
i++; //i vai acumular que no caso ira para segunda casa no vetor
while (c[b]>x) // enqnt a psicao do vetor que ta em B(final) for maior que o valor da inicial
b--;//ele vai reduzir para voltar.
if (i<=b) //se i < b exemplo: 1 < 3
{
h=c[i];
c[i]=c[b];
c[b]=h;
i++;
b--;
}
}while (i<=b);
if (a<b)
quickSort(c,a,b);
if (i<=j)
quickSort(c,i,j);
}
}
[/code]
A Minha duvida é a seguinte como que vou fazer para realizar esse interligamento ?
Receber os valores no vetor , apos isso mostra os valores sem ordem , depois ao clicar o botao organizar os valores utilizando algum dos metodos.
Agradeço a ajuda