Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - rofers

#1
Java / Como ordeno numeros en java
4 Octubre 2009, 08:20 AM
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

}

}
}