Seguinte pessoal sou iniciante em Java, más estou com um problema que não consigo resolver e preciso da ajuda de vocês, pois para vocês isso deve ser fácil. Seguinte tenho que criar um programa em java que aceite como entradas do meu usuário Strings (nomes) e Números e a quantidade de passos que o vetor será ordenado, depois aplique o método de ordenação shell sort e mostre os passos que foram ordenados e a saída na tela, para ordenar numero eu consegui (ver código abaixo), o problema esta com nomes como faço para ele receber qualquer entrada nome ou número e como vou comparar esses dados? Claro nesse código de número eu criei um método para criar numeros randomicos só para não ter que ficar digitando toda a vez de testar, más na versão final preciso que os numeros ou nomes sejam informados pelo usuário
POR FAVOR ME AJUDEMpackage javaapplication2;
/**
*
* @author USUARIO
*/import java.util.Random;
public class Tabela{
/** Cria novas instâncias da tabela */
public Tabela() {
}
//(1) preenche uma tabela
public static void preenche(int tabela[]) {
Random random = new Random();
for (int i=0; i < tabela.length; i++)
tabela[i] = random.nextInt(10);
}
//(2) troca as posições de dois elementos da tabela
public static void troca(int tabela[], int x, int y){
int tmp;
tmp = tabela[x];
tabela[x] = tabela[y];
tabela[y] = tmp;
}
//(3) Imprime a tabela desordenada
public static void imprime(int tabela[]) {
System.out.println("TABELA DESORDENADA");
for (int i=0; i < tabela.length; i++)
System.out.println(" "+i+": "+ tabela[i]+" ; ");
System.out.println();
}
//(4) Imprime a tabela já ordenada
public static void imprimeOrdenada(int tabela[]) {
System.out.println("TABELA ORDENADA");
for (int i=0; i < tabela.length; i++)
System.out.println(" "+i+": "+ tabela[i]+" ; ");
System.out.println();
}
}
/*
* OrdenacaoShell.java
*
* Created on 1 de Junho de 2006, 11:11
*
* To change this template, choose Tools | Options and locate the template under
* the Source Creation and Management node. Right-click the template and choose
* Open. You can then make changes to the template in the Source Editor.
*/
package javaapplication2;
/**
*
* @author FABRICIO MACHADO DA SILVA
*/
public class OrdenacaoShell extends Tabela {
public static void shell (int tabela[ ], double passos ) {
boolean nenhumaTroca;
int intervalo;
intervalo = (int) Math.pow(2,passos);
do
{
do
{
nenhumaTroca = true;
for (int j = 0; j < tabela.length-intervalo; j++)
if (tabela[j] > tabela[j+intervalo]) {
Tabela.troca(tabela, j, j+intervalo);
nenhumaTroca = false;
}
} while (!nenhumaTroca);
intervalo = intervalo / 2;
if (intervalo >0){
Tabela.imprime(tabela);
}
} while ( intervalo > 0);
}
public static void main(String args[]){
int tabela[] = new int[8];
Tabela.preenche(tabela); //preenche tabela
Tabela.imprime(tabela); //imprime tabela antes da ordenação
shell(tabela, 2); //ordena tabela
Tabela.imprimeOrdenada(tabela); //imprime a tabela depois da ordenação
}
}