Problema de ordenacion numeros
El programa que se tiene que repertir un numero del 1 al 999, pero como son string los convierto en int para la aplicacion de un for, y este int tengo que convertirlo en string para poder contenar con ceros deperndiendo del numero que digite, en total tienen que salir 6 digitos, ya cuando esta esto tengo que ordenar de menor a mayor, es ahi en donde esta mi problema, no se como arrglar los numeros .
Aqui esta el programa que hice esta hecho en eclipse
package ejercicios1Java;
import javax.swing.JOptionPane;
public class Repeticion {
/**
* @param args
*/
public static void main(String[] args) {
String numeroveces="";
String digito="";
String cadena="";
String ko="00000";
String k1="0000";
String k2="000";
int cadena1=0;
int numerovcs=0;
int digito1=0;
//int nums[]={digito1};
//int a,b,t;
boolean i=true;
i=true;
for (int j=0; j<4;j++)
{
System.out.println("");//for
while(i==true)//numero veces
{//while
try
{
numeroveces=JOptionPane.showInputDialog(null,"Ingrese el numero de veces");//caja de ingreso de #veces
numerovcs=Integer.parseInt(numeroveces);//conversion a entero del string
if(numerovcs>0&&numerovcs<=10)
{//if
i=false;
}
else
{//else
JOptionPane.showMessageDialog(null,"Favor digitar solo numeros del 1 al 10", "ERROR AL DIGITAR ",0);//impresion si hay error
i=true;
}
}//try
catch (Exception l)
{
JOptionPane.showMessageDialog(null,"\nSolo digitar nùmeros del 1 - 10" , "Mensaje de error al digitar el color de zapatos", JOptionPane.ERROR_MESSAGE);
i=true;
}//catch
}//fin while numero veces
int indice=0;
int vectorTecleado[]=new int [numerovcs];
i=true;
while(i==true)//digitos
{//while
try
{//try
digito=JOptionPane.showInputDialog(null,"Ingeres el digito de tres digitos");
digito1=Integer.parseInt(digito);
if(digito1>=0&&digito1<=999)
{//if
i=false;
}
else
{//else
JOptionPane.showMessageDialog(null,"favor digitar solo numeros del 1 al 10", "ERROR AL DIGITAR ",0);//impresion si hay error
i=true;
}//fin else
}//try
catch (Exception f)
{
JOptionPane.showMessageDialog(null,"\nSolo digitar nùmeros del 1 - 10" , "Mensaje de error al digitar el color de zapatos", JOptionPane.ERROR_MESSAGE);
i=true;
}//fin catch
}//fin while digitos
i=true;
// System.out.println(numerovcs);
//System.out.println(digito1);
cadena=String.valueOf(digito1);
//if(digito1String.length()==1){//aqui esta el meollo del asunto si ".lenght"(la longitud del cadena es uno quiere decir que debo imprimir 5 ceros "00000")
//imprimo las veces que diga digito "numeroDigitosNum"
for(int k=1; k<=numerovcs; k++)
{
if(digito1<10)
{
cadena= " "+ko.concat(cadena);
//System.out.printf("00000"+ digito1 + " ");
}
if(digito1>=10&&digito1<100)
{
cadena= " "+k1.concat(cadena);
// System.out.printf("0000" + digito1 + " ");
}
if (digito1>=100&&digito1<1000)
{
cadena= "\t"+k2.concat(cadena);
//System.out.print("000" + digito1 + " ");
}
String substring=cadena.substring(6);
//cadena1=Integer.parseInt(cadena);
System.out.print(substring);
vectorTecleado[indice]=digito1;
indice++;
//for repeticion numero
//
}//fin for de repeticion de programa
for(int m=0; m<=(vectorTecleado.length-1); m++)
{
for(int n=m; n<=(vectorTecleado.length-1); n++)
{
if(vectorTecleado[m]>vectorTecleado[n]){
int auxVec = vectorTecleado[m];
vectorTecleado[m]=vectorTecleado[n];
vectorTecleado[n]=auxVec;
}
}
}//fin primer for//(en esta momento el vector esta ordenado)
//imprimo los numeros digitados que estaba guadados en "numTransfString"
// System.out.println("\nLos numeros digitados son: " + cadena);
//imprimo el vector con un for(el metodo ".lenght" me devuelve la longitud del vector 3 en este caso
//es por eso que le pongo "vectorTecleado.length-1" porque un vector por ejemplo de tamaño 3 sus indices son 0, 1 y 2)
//System.out.print("\nLos numeros digitados ORDENADOS en forma CRECIENTE son: ");
for(int m=0; m<=(vectorTecleado.length-1); m++)
{
//System.out.print(vectorTecleado[m]+ " ");
}
// TODO Auto-generated method stub
}
}
}
Aqui esta el programa que hice esta hecho en eclipse
package ejercicios1Java;
import javax.swing.JOptionPane;
public class Repeticion {
/**
* @param args
*/
public static void main(String[] args) {
String numeroveces="";
String digito="";
String cadena="";
String ko="00000";
String k1="0000";
String k2="000";
int cadena1=0;
int numerovcs=0;
int digito1=0;
//int nums[]={digito1};
//int a,b,t;
boolean i=true;
i=true;
for (int j=0; j<4;j++)
{
System.out.println("");//for
while(i==true)//numero veces
{//while
try
{
numeroveces=JOptionPane.showInputDialog(null,"Ingrese el numero de veces");//caja de ingreso de #veces
numerovcs=Integer.parseInt(numeroveces);//conversion a entero del string
if(numerovcs>0&&numerovcs<=10)
{//if
i=false;
}
else
{//else
JOptionPane.showMessageDialog(null,"Favor digitar solo numeros del 1 al 10", "ERROR AL DIGITAR ",0);//impresion si hay error
i=true;
}
}//try
catch (Exception l)
{
JOptionPane.showMessageDialog(null,"\nSolo digitar nùmeros del 1 - 10" , "Mensaje de error al digitar el color de zapatos", JOptionPane.ERROR_MESSAGE);
i=true;
}//catch
}//fin while numero veces
int indice=0;
int vectorTecleado[]=new int [numerovcs];
i=true;
while(i==true)//digitos
{//while
try
{//try
digito=JOptionPane.showInputDialog(null,"Ingeres el digito de tres digitos");
digito1=Integer.parseInt(digito);
if(digito1>=0&&digito1<=999)
{//if
i=false;
}
else
{//else
JOptionPane.showMessageDialog(null,"favor digitar solo numeros del 1 al 10", "ERROR AL DIGITAR ",0);//impresion si hay error
i=true;
}//fin else
}//try
catch (Exception f)
{
JOptionPane.showMessageDialog(null,"\nSolo digitar nùmeros del 1 - 10" , "Mensaje de error al digitar el color de zapatos", JOptionPane.ERROR_MESSAGE);
i=true;
}//fin catch
}//fin while digitos
i=true;
// System.out.println(numerovcs);
//System.out.println(digito1);
cadena=String.valueOf(digito1);
//if(digito1String.length()==1){//aqui esta el meollo del asunto si ".lenght"(la longitud del cadena es uno quiere decir que debo imprimir 5 ceros "00000")
//imprimo las veces que diga digito "numeroDigitosNum"
for(int k=1; k<=numerovcs; k++)
{
if(digito1<10)
{
cadena= " "+ko.concat(cadena);
//System.out.printf("00000"+ digito1 + " ");
}
if(digito1>=10&&digito1<100)
{
cadena= " "+k1.concat(cadena);
// System.out.printf("0000" + digito1 + " ");
}
if (digito1>=100&&digito1<1000)
{
cadena= "\t"+k2.concat(cadena);
//System.out.print("000" + digito1 + " ");
}
String substring=cadena.substring(6);
//cadena1=Integer.parseInt(cadena);
System.out.print(substring);
vectorTecleado[indice]=digito1;
indice++;
//for repeticion numero
//
}//fin for de repeticion de programa
for(int m=0; m<=(vectorTecleado.length-1); m++)
{
for(int n=m; n<=(vectorTecleado.length-1); n++)
{
if(vectorTecleado[m]>vectorTecleado[n]){
int auxVec = vectorTecleado[m];
vectorTecleado[m]=vectorTecleado[n];
vectorTecleado[n]=auxVec;
}
}
}//fin primer for//(en esta momento el vector esta ordenado)
//imprimo los numeros digitados que estaba guadados en "numTransfString"
// System.out.println("\nLos numeros digitados son: " + cadena);
//imprimo el vector con un for(el metodo ".lenght" me devuelve la longitud del vector 3 en este caso
//es por eso que le pongo "vectorTecleado.length-1" porque un vector por ejemplo de tamaño 3 sus indices son 0, 1 y 2)
//System.out.print("\nLos numeros digitados ORDENADOS en forma CRECIENTE son: ");
for(int m=0; m<=(vectorTecleado.length-1); m++)
{
//System.out.print(vectorTecleado[m]+ " ");
}
// TODO Auto-generated method stub
}
}
}