Mostrar Mensajes

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


Mensajes - LeoSavitar

Páginas: [1]
1
Si, si tengo así, es que yo le cambié de nombre porque mi profesor prefiere que le pongamos así.
pero lo cambié en todos los lugares, así que no creo que sea por eso

2
Gracias por tu ayuda Kabuto, realmente es muy útil, sin embargo después de haberlo cambiado en las condiciones del for, aún tengo el problema con el mínimo, es posible que sea otra cosa?
Código: [Seleccionar]
int max = 0;
int min = 0;
int intContador = 0;

max = min = Edades[0];

 for (int i=1; i<intContador; i++)
{
if (Edades[i]>max) {
max = Edades[i];
}

if (Edades[i]<min) {
min = Edades[i];
}
}

System.out.println( "\nla edad mínima es: " + min +
"\nla edad máxima es: " + max);

3
Gracias por tu ayuda Kabuto, me ayudó a entender mejor esto de los arreglos, mi profesor me dio esto
Código: [Seleccionar]
import java.util.*;

public class A_UsoArreglos {
//se define un arreglo de números enteros al que se le asigna (inicializa) valores 2, 588, 645, 101, 222, 1
private int arregloDeEnteros[] = { 2, 588, 645, 101, 222, 1 };
//se define un arreglo de números enteros al que se le asigna (inicializa) valores 2, 588, 645, 101, 222, 1
private int arregloDeEnteros2[] = { 2, 588, 645, 101, 222, 1 };
//se define un arreglo de números decimales o double al que se le asigna (inicializa) valores 33.21, 88.12, 0.135,6.67, 4.55
private double arregloDecimales[] = { 33.21, 88.12, 0.135,6.67, 4.55 };

private int arregloEnteroLLenado[], copiaArregloDeEnteros[];
private double copiaArregloDeDecimales[];

// inicializar los arreglos
public A_UsoArreglos()
{
   arregloEnteroLLenado = new int[ 10 ];
   copiaArregloDeEnteros = new int[ arregloDeEnteros.length ];
   copiaArregloDeDecimales = new double[arregloDecimales.length];

   Arrays.fill( arregloEnteroLLenado, 455 );   // llenar con 7s

   // copiar el arreglo arregloDecimales en el arreglo copiaArregloDeDecimales
   System.arraycopy( arregloDecimales, 0, copiaArregloDeDecimales,
      0, arregloDecimales.length );
   
   Arrays.sort( copiaArregloDeDecimales );   // ordenar copiaArregloDecimales en forma ascendente

   // copiar el arreglo arregloDeEnteros en el arreglo copiaArregloDeEnteros
   System.arraycopy( arregloDeEnteros, 0, copiaArregloDeEnteros,
      0, arregloDeEnteros.length );
   
   Arrays.sort( copiaArregloDeEnteros );   // ordenar copiaArregloDeEnteros en forma ascendente
}

// mostrar los valores en cada arreglo
public void imprimirArreglos()
{     
   System.out.print( "\narregloDecimales original : " );

   for ( int i = 0; i < arregloDecimales.length; i++ )
      System.out.print( arregloDecimales[ i ] + " " );
   
   System.out.print( "\narregloDecimales copiado y ordenado : " );

   for ( int i = 0; i < copiaArregloDeDecimales.length; i++ )
      System.out.print( copiaArregloDeDecimales[ i ] + " " );

   System.out.print( "\n\narregloDeEnteros original : " );

   for ( int i = 0; i < arregloDeEnteros.length; i++ )
      System.out.print( arregloDeEnteros[ i ] + " " );


   System.out.print( "\ncopiaArregloDeEnteros copiado y ordenado: " );

   for ( int i = 0; i < copiaArregloDeEnteros.length; i++ )
      System.out.print( copiaArregloDeEnteros[ i ] + " " );
   
   
   System.out.print( "\n\narregloEnteroLLenado: " );

   for ( int i = 0; i < arregloEnteroLLenado.length; i++ )
      System.out.print( arregloEnteroLLenado[ i ] + " " );

   System.out.println();

} // fin del método imprimirArreglos

// encontrar valor en el arreglo arregloDeEnteros
public int buscarEnArreglo( int valor )

   return Arrays.binarySearch( arregloDeEnteros, valor );
}

// comparar el contenido de los arreglos
public void compararArreglos()
{
   boolean b = Arrays.equals( arregloDeEnteros, copiaArregloDeEnteros );

   System.out.println( "\narregloDeEnteros " + ( b ? " es iguala" : " no es igual a " ) +
      " copiaArregloDeEnteros" );

   b = Arrays.equals( arregloDeEnteros, arregloEnteroLLenado );

   System.out.println( "\narregloDeEnteros " + ( b ? " es igual a " : " no es igual a " ) +
      " arregloEnteroLLenado" );
   
   b = Arrays.equals( arregloDeEnteros, arregloDeEnteros2 );

   System.out.println( "\narregloDeEnteros " + ( b ? " es igual a " : " no es igual a " ) +
      " arregloDeEnteros2" );
}

public static void main( String args[] )
{
A_UsoArreglos usoArreglos = new A_UsoArreglos();

usoArreglos.imprimirArreglos();
usoArreglos.compararArreglos();
int posicion=88;
//System.out.println(  posicion );
   posicion = usoArreglos.buscarEnArreglo( 588 );
   //System.out.println(  posicion );
   System.out.println( ( posicion >= 0 ? "\n\nSe encontro el 588 en la posición " +
   (posicion + 1) : "\n\nNo se encontro el 1" ) + " en arregloDeEnteros"  );

   posicion = usoArreglos.buscarEnArreglo( 8763 );
   System.out.println( ( posicion >= 0 ? "Se encontro el 6464 en en la posición " +
   (posicion + 1) : "No se encontro el 6464" ) + " en arregloDeEnteros" );
}

Pero llevo dos días tratando de entenderlo, y no lo logro, todo está mezclado.

Tu ayuda si me sirvió para los promedios, encontré como sacar los mínimos y máximos de esta manera
Código: [Seleccionar]
int max = 0;
int min = 0;
max = min = Edades[0];

 for (int i=1; i<Edades.length; i++)
{
if (Edades[i]>max) {
max = Edades[i];
}

if (Edades[i]<min) {
min = Edades[i];
}
}

System.out.println( "\nla edad mínima es: " + min +
"\nla edad máxima es: " + max);

Pero aún tengo un problema, la salir el resultado, el valor mínimo siempre me sale 0, no importa que números estén, y todo parece estar como debe estar, no sé cuál es el problema?

4
Gracias por tu respuesta Kabuto, me sirvió de guía, sin embargo, tenía que utilizar el while(true) ya que era una de las condiciones. Debía hacerlo para infinitos clientes, pero ya logré solucionarlo, pero ahora debo hacer otra tares con eso.
Con los números de la edad que se han introducido, debo hacer un arreglo para al finalizar, sacar un promedio, el número máximo y mínimo.
Código: [Seleccionar]
public static void main (String args[])
{
String strNombre = "";
String strApellido = "";
String strEdad = "";
String strCedula = "";
String strError = "";
String strBlancos = "                                                   ";

int intEdad = 0;
int iSiga=0;
boolean indBien=false;


System.out.println("NOMBRE               APELLIDO               EDAD               CÉDULA");

while (true)

{
//capturar nombre
indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strNombre = JOptionPane.showInputDialog("Digite su nombre : ", strNombre).toUpperCase().trim();
if(strNombre.length()<3){
strError += "longitud de nombre menor que 3\n";
}
if(strNombre.length()>15){
strError += "longitud de nombre mayor que 15\n";
}
if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}
}

//capturar apellido
indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strApellido = JOptionPane.showInputDialog("\nDigite su apellido : ", strApellido).toUpperCase().trim();
if(strApellido.length()<3){
strError += "longitud de nombre menor que 3\n";
}
if(strApellido.length()>15){
strError += "longitud de nombre mayor que 15\n";
}
if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}
}

//capturar edad

indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strEdad = JOptionPane.showInputDialog("\nDigite su edad : ", strEdad).trim();

try{
intEdad=Integer.parseInt(strEdad);
}
catch (Exception e)
{
strError += "debe ingresar valores numéricos\n";
JOptionPane.showMessageDialog(null, strError);
indBien=false;
continue;
}

if(intEdad<18||intEdad>125){
strError += "Edad fuera del rango entre 18 y 125";
}

if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}



}

//capturar cédula
indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strCedula = JOptionPane.showInputDialog("\nDigite su cédula : ", strCedula).trim();
if(strCedula.length()<9){
strError += "longitud de la cédula es menor que 9\n";
}
if(strCedula.length()>12){
strError += "longitud de la cédula es mayor que 11\n";
}
if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}
}

strNombre=strNombre+strBlancos.substring(0, 21-strNombre.length());
strApellido=strApellido+strBlancos.substring(0, 25-strApellido.length());
strEdad=strEdad+strBlancos.substring(0, 17-strEdad.length());
strCedula=strCedula+strBlancos.substring(0, 12-strCedula.length());

System.out.println( strNombre+ strApellido+ strEdad+ strCedula);

iSiga=JOptionPane.showConfirmDialog(null, "Otro cliente?");


if (iSiga!=0)
{

System.exit(0);

}

}//fin while

}public static void main (String args[])
{
String strNombre = "";
String strApellido = "";
String strEdad = "";
String strCedula = "";
String strError = "";
String strBlancos = "                                                   ";

int intEdad = 0;
int iSiga=0;
boolean indBien=false;


System.out.println("NOMBRE               APELLIDO               EDAD               CÉDULA");

while (true)

{
//capturar nombre
indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strNombre = JOptionPane.showInputDialog("Digite su nombre : ", strNombre).toUpperCase().trim();
if(strNombre.length()<3){
strError += "longitud de nombre menor que 3\n";
}
if(strNombre.length()>15){
strError += "longitud de nombre mayor que 15\n";
}
if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}
}

//capturar apellido
indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strApellido = JOptionPane.showInputDialog("\nDigite su apellido : ", strApellido).toUpperCase().trim();
if(strApellido.length()<3){
strError += "longitud de nombre menor que 3\n";
}
if(strApellido.length()>15){
strError += "longitud de nombre mayor que 15\n";
}
if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}
}

//capturar edad

indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strEdad = JOptionPane.showInputDialog("\nDigite su edad : ", strEdad).trim();

try{
intEdad=Integer.parseInt(strEdad);
}
catch (Exception e)
{
strError += "debe ingresar valores numéricos\n";
JOptionPane.showMessageDialog(null, strError);
indBien=false;
continue;
}

if(intEdad<18||intEdad>125){
strError += "Edad fuera del rango entre 18 y 125";
}

if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}



}

//capturar cédula
indBien=false;
while (indBien==false)
{
strError = "";
indBien=true;
strCedula = JOptionPane.showInputDialog("\nDigite su cédula : ", strCedula).trim();
if(strCedula.length()<9){
strError += "longitud de la cédula es menor que 9\n";
}
if(strCedula.length()>12){
strError += "longitud de la cédula es mayor que 11\n";
}
if(strError.length()>0){
JOptionPane.showMessageDialog(null, strError);
indBien=false;
}
}

strNombre=strNombre+strBlancos.substring(0, 21-strNombre.length());
strApellido=strApellido+strBlancos.substring(0, 25-strApellido.length());
strEdad=strEdad+strBlancos.substring(0, 17-strEdad.length());
strCedula=strCedula+strBlancos.substring(0, 12-strCedula.length());

System.out.println( strNombre+ strApellido+ strEdad+ strCedula);

iSiga=JOptionPane.showConfirmDialog(null, "Otro cliente?");


if (iSiga!=0)
{

System.exit(0);

}

}//fin while

}

Eso es lo que debía hacer, pero para introducir el arreglo. lo hice asi

Código: [Seleccionar]
int [] arrEnteros = new int [strEdad.length()];
int intSuma = 0;
int intPromedio = 0;
y para el promedio lo hice así
Código: [Seleccionar]
for(int i=0; i<=arrEnteros.length; i++){
intSuma = intSuma + arrEnteros[i];
};
intPromedio = (intSuma/arrEnteros.length);
System.out.println("\n\nEl promedio de la edad es:\n" + intPromedio);
el problema es que no sé si está bien, o dónde debería ponerlo, porque cuando le corro sl programa me dice que esta linea (intSuma = intSuma + arrEnteros) pero no sé porqué.

5
Hola todos, soy nuevo aquí, espero que puedan ayudarme por favor, debo hacer un programa en java eclipse que pida datos de varios clientes en una interfaz que tiene text fields o campos texto;  por cada cliente vaya validando que los datos estén bien.   Si están bien entonces imprime los datos de ese cliente en la consola  y regresa a seguir pidiendo datos de otro cliente.

Tengo como referencia esto:

Código: [Seleccionar]
//package tareas;

import javax.swing.JOptionPane;

public class CAPTURARCLIENTES {
public static void main (String args[])
{

String valor1="";
String valor2="";

int numeroValor1=0;
int numeroValor2=0;
int resultado=0;
int resultado2=0;
int resultado3=0;
int resultado4=0;
int resultado5=0;
int iSiga=0;
String mensajeResultado="";// otros tipos de variable son int, float, double, char
boolean indBien=false;




//tomar datos de las cajas de ingreso de datos


while (true)

{
indBien=false;
while (indBien==false)

{
valor1=JOptionPane.showInputDialog("Ingrese primer valor");
valor2=JOptionPane.showInputDialog("Ingrese segundo valor");
indBien=true;
try{

// aplicar la operación matemática para el cálculo transformando primero los datos string (texto) capturados a int (enteros)
numeroValor1=Integer.parseInt(valor1);
numeroValor2=Integer.parseInt(valor2);

}
catch (Exception e)
{
JOptionPane.showMessageDialog(null, "\n\ndebe digitar valores numericos" , "Mensaje de error al digitar", JOptionPane.ERROR_MESSAGE);
indBien=false;

}

}
indBien=true;
resultado=numeroValor1 + numeroValor2;
resultado2=numeroValor1 - numeroValor2;
resultado3=numeroValor1 * numeroValor2;

// El texto de resultado lo concatena en una variable String
mensajeResultado="primer numero:" + numeroValor1 + "\nsegundo numero:" + numeroValor2 + "\n\nLas suma es:" + resultado +"\nla resta es: " + resultado2 + "\nla multiplicacion es:" + resultado3;

// ejecuta división y residuo solo si el valor del denominador es mayor que 0
if (numeroValor2>0)
{
resultado4=numeroValor1 / numeroValor2;
resultado5=numeroValor1 % numeroValor2;

// El texto de resultado lo concatena en una variable String
mensajeResultado+="\n\nla división es :" + resultado4 ;
mensajeResultado+="\nel residuo es :" + resultado5 ;

}


//desplegar resultado en la caja de mensaje
JOptionPane.showMessageDialog(null,mensajeResultado , "Mensaje de Resultado", JOptionPane.PLAIN_MESSAGE);

// caja de confirmación para que el usuario decida si quiere más operaciones.
iSiga=JOptionPane.showConfirmDialog(null, "Confirme si desea realizar cálculos");
System.out.println("Valor de iSiga " + iSiga);

if (iSiga!=0)
{
break;

}


}//fin lazo mas calculos
System.exit(0); // finaliza la aplicación con la ventana
}//

}//fin clase//

Pero lo que debo capturar son sus Nombre, Apellido, Edad, y cédula, sé como hacer operaciones con números usando el try y cath, dentro de While, pero con números, y que haya una validación que en el cuadro de texto se hayan ingresado números, en caso de que ingresen letras, pero ¿Cómo puedo hacer que se impriman en la consola como una tabla?  :(

Gracias por su ayuda

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".