Hola saludos, de antemano agradezco si me pueden guiar un poco, tengo que pasar un código que esta en java.swit a java.io, que reciba datos por el teclado. el código lo llevo así: No da errores de sintaxis, pero quisiera que me mostrara el menu en la consola. el codigo esta un poco largo, pero el problema esta en la linea 125 en adelante, creo, es ahi donde no he podido mostrar el string menu.
lo que esta comentado era el codigo antiguo, quisiera mostrar el menú, ya que no lo muestra, con java .io como lo hago, se que el codigo esta muy largo por si despues queda falta de especificaciones, .espero alguna sugerencia, muchas gracias
Código (java) [Seleccionar]
import java.io.*;
import java.util.*;
class Arreglo
{
DataInputStream entrada = new DataInputStream(System.in);
int A[]=new int[100];
int aux;
int i,j,n;
public Arreglo(int B[]) //Constructor
{
if(B.length<=100)
n=B.length;
else
n=100;
for(i=0;i<n;i++)
A[i]=B[i];
}
boolean verificarasc() // Verifica Ordenamiento ascendente
{
for(i=0;i<n-1 && A[i]<=A[i+1];i++);
if(i<n-1)
return false;
else
return true;
}
boolean verificardesc() // Verifica Ordenamiento Descendente
{
for(i=0;i<n-1 && A[i]>=A[i+1];i++);
if(i<n-1)
return false;
else
return true;
}
boolean buscarasc(int x) // Busqueda Ascendente
{
for(i=0;i<n && A[i]<x;i++);
if(i<n && A[i]==x)
return true;
else
return false;
}
boolean buscardesc(int x) // Busqueda Descendente
{
for(i=0;i<n && A[i]>x;i++);
if(i<n && A[i]==x)
return true;
else
return false;
}
boolean busqueda(int x) // Busqueda Normal
{
for(i=0;i<n && A[i]!=x;i++);
if(i<n)
return true;
else
return false;
}
void consulta() // Recorrer el contenido de vector
{
StringBuffer S=new StringBuffer();
for(i=0;i<n;i++)
{
S.append(A[i]);
S.append('\n');
}
//JOptionPane.showMessageDialog(null,S.toString());
}
@SuppressWarnings("deprecation")
void lectura() // Leer el Vector
{
for(i=0;i<n;i++)
{
try
{
System.out.println("Digite el valor de la posición A["+i+"]: ");
A[i]=Integer.parseInt(entrada.readLine()) ;
}
catch(IOException e) {} ;
}
}
void ordenarasc() // Ordenar Ascendente
{
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(A[i]>A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
void ordenardesc()// Ordenar Descendente
{
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(A[i]<A[j])
{
aux=A[i];
A[i]=A[j];
A[j]=aux;
}
}
}
public class clase_arreglo
{
@SuppressWarnings("deprecation")
public static void main(String args[])
{
DataInputStream entrada = new DataInputStream(System.in);
int i,opcion,x=0;
int B[]=new int[10];
Random R=new Random();
for(i=0;i<B.length;i++)
B[i]=Math.abs(R.nextInt()%100+1);
String S=new String();
Arreglo Z=new Arreglo(B);
@SuppressWarnings("unused")
String Menu="1. Lectura \n 2. Ordenar Ascendente \n 3. Ordenar Descendente \n 4. Busqueda \n 5. Consulta \n6. Salir \n Seleccion Opcion[1..6]";
do
{
do
{
//S=JOptionPane.showInputDialog(null,Menu);
System.out.println(" null,Menu ");
try
{
opcion=Integer.parseInt(S);
}
catch(NumberFormatException e)
{
opcion=0; // Error de Conversion
}
}while(opcion<1 || opcion>6);
if(opcion!=6)
{
switch(opcion)
{
case 1:Z.lectura();
break;
case 2:Z.ordenarasc();
break;
case 3:Z.ordenardesc();
break;
case 4:
try
{
System.out.println(" Numero a Buscar ");
x=Integer.parseInt(entrada.readLine()) ;
}
catch(IOException e) {} ;
//x=Integer.parseInt(
//JOptionPane.showInputDialog(null," Numero a Buscar "));
if(!Z.buscarasc(x) && !Z.buscardesc(x) && !Z.busqueda(x))
//JOptionPane.showMessageDialog(null,x+" No existe");
System.out.println( x+" No existe");
else
//JOptionPane.showMessageDialog(null,x+" Existe");
System.out.println( x+" existe");
break;
case 5: Z.consulta();
}
}
}while(opcion!=6);
System.exit(0);
}
}
lo que esta comentado era el codigo antiguo, quisiera mostrar el menú, ya que no lo muestra, con java .io como lo hago, se que el codigo esta muy largo por si despues queda falta de especificaciones, .espero alguna sugerencia, muchas gracias