Fecha y hora actual: Sab 31 Jul, 2010 06:04 am
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

bucle do while extension en condicion (Y\O)

Responder al Tema

Índice del Foro > Java > bucle do while extension en condicion (Y\O)

Autor Mensaje
frankmario



Registrado: 26 Oct 2009
Mensajes: 3

Mensaje Publicado: Lun 26 Oct, 2009 22:20 pm

Título del mensaje: bucle do while extension en condicion (Y\O)

Responder citando

Ordenador oa tengo un problemita toy trabajando con eclipse y no se com colocar la "O" en la condicion del bucle do while
porfa ; aki les doy la linea cn la que estoy trabajando:

}while(cap<=0&apor<=0&apor<=cap&inte<=0);

donde esta la & deberia estar la "o" ayundenme;
Llorón

Volver arriba
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
Moderador Global


Registrado: 20 Mar 2009
Mensajes: 890
Ubicación: y*width+x

Mensaje Publicado: Mie 28 Oct, 2009 13:41 pm

Título del mensaje: Re: bucle do while extension en condicion (Y\O)

Responder citando

Estamos hablando de operadores lógicos AND OR XOR y todos sus hermanitos...no? No hablamos de poner una O o poner una H jajaja Risa

El OR lógico o conocido vulgarmente cómo "O" Risa se simboliza con una rayita "parriba" (que en verdad son dos, código ASCII número 124). Lo normal es que cada condición la agrupes usando los paréntesis. Creo que debería solucionarse así, prueba y nos cuentas.

}while((cap<=0) | (apor<=0) | (apor<=cap) | (inte<=0));

De esa forma el bucle se repetirá mientras cap sea menor que cero, o apor sea menor que cero o apor sea menor que cap o inte sea menor que cero, y cuando digo menor, digo menor e igual... De otra forma podría tener otro sentido...


http://www.youtube.com/watch?v=DzLKIW86hmM
Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
frankmario



Registrado: 26 Oct 2009
Mensajes: 3

Mensaje Publicado: Mie 28 Oct, 2009 19:51 pm

Título del mensaje: Re: bucle do while extension en condicion (Y\O)

Responder citando

muchas gracias Aplauso Aplauso ahora el programa fuanka al 100% gracias:
aqui les envio el codigo con el que trabaje para quien quiera usarlo:

Código:
import java.io.*;
public class prestamo {
   public static void main(String[]args)throws IOException{
      int cap, inte, apor, deuda, ulti;
      int cmes=0;
      do{
         BufferedReader leer=new BufferedReader(new InputStreamReader(System.in));
         System.out.println("Ingresar capital");
         cap=Integer.parseInt(leer.readLine());
         BufferedReader leer1=new BufferedReader(new InputStreamReader(System.in));
         System.out.println("Ingresar intereses");
         inte=Integer.parseInt(leer1.readLine());
         BufferedReader leer2=new BufferedReader(new InputStreamReader(System.in));
         System.out.println("Ingresar amortizacion");
         apor=Integer.parseInt(leer2.readLine());
      }while((cap<=0) | (apor<=0) | (apor>=cap) | (inte<=0));
      cap=cap+(cap*inte/100);
      do{
         deuda=cap-apor;
         if(deuda>0)
         {
            cmes=cmes+1;
            System.out.println("la deuda es " +deuda);
            System.out.println("la cantidad de meses a pagar es " +cmes);
            cap=deuda;
         }
         
         
      }while(deuda>0);
      ulti=cap;
      cmes=cmes+1;
      System.out.println("la cantidad de meses es "+cmes);
      System.out.println("el ultimo valor a pagar  es " +ulti);
   }

}

ahora me gustaria saber como tarabajar con datos booleanos :
para mejor comprension te envio el enuciado del problema
"escribir un programa que lea los siguientes datos:
sexo(M o F ) Ordenador aqui no comprendo;
y su nota yo trabaja con java en el interfas eclipse........ Guiño porfa
nota

Volver arriba
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
Moderador Global


Registrado: 20 Mar 2009
Mensajes: 890
Ubicación: y*width+x

Mensaje Publicado: Mie 28 Oct, 2009 21:38 pm

Título del mensaje: Re: bucle do while extension en condicion (Y\O)

Responder citando

Frank acostúmbrate a usar el bbcode, porque además de poner las letras de colores sirve para agrupar el código en una subventana de tu comentario, haciendo más legible el contexto de éste.

Una operación booleana sólo devuelve uno o cero, verdad o mentira, ying o yang, bueno o malo, encendido o apagado,blbalbalbalabla... lo entiendes no?

Yo tampoco entiendo bien el enunciado... A lo mejor es un programa que toma una respuesta que sólo puede ser Hombre o Mujer, eso sería una operación booleana... creo... jajajaj Risa

suerte Ok


http://www.youtube.com/watch?v=DzLKIW86hmM
Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
frankmario



Registrado: 26 Oct 2009
Mensajes: 3

Mensaje Publicado: Lun 02 Nov, 2009 11:18 am

Título del mensaje: Re: bucle do while extension en condicion (Y\O)

Responder citando

mira el enunciado completo es el siguiente:


me dice que cree un programa que lea los siguientes datos:(sexo M o F) y nota(0=<nota<=20) y que me muestre lo siguiente.


a.- el numero de alumnos (hombres) y el Nª de alumnas(mujeres).
b.- el numero de alumnos(hombres) aprobados.
c.- el Nª de muejeres aprobadas.
d.- el Nª de mujeres desaprobadas.
e.- la nota más alta de las muejeres y la nota más alta de los hombres.

el final del ingreso de datos ocurre cuando se ingresa un dato fuera de los rangos permitidos.

BUENO TODO ESTO ES EL ENUNCIADO Y TE AGRADECERIA SI ME AYUDARAS A RESALOLLARLO CON BOLEANO. PLIS SALU2. Aplauso Guiño Super [/code]

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Gux



Registrado: 07 Nov 2009
Mensajes: 7

Mensaje Publicado: Lun 09 Nov, 2009 17:17 pm

Título del mensaje: Re: bucle do while extension en condicion (Y\O)

Responder citando

frankmario escribió:
me dice que cree un programa que lea los siguientes datos:(sexo M o F) y nota(0=<nota<=20) y que me muestre lo siguiente.


a.- el numero de alumnos (hombres) y el Nª de alumnas(mujeres).
b.- el numero de alumnos(hombres) aprobados.
c.- el Nª de muejeres aprobadas.
d.- el Nª de mujeres desaprobadas.
e.- la nota más alta de las muejeres y la nota más alta de los hombres.

el final del ingreso de datos ocurre cuando se ingresa un dato fuera de los rangos permitidos.

BUENO TODO ESTO ES EL ENUNCIADO Y TE AGRADECERIA SI ME AYUDARAS A RESALOLLARLO CON BOLEANO. PLIS SALU2. Aplauso Guiño Super [/code]


Hola. Mira, me entusiasmé con lo que planteaste y desarrollé todo el programa, espero te sirva. Son dos clases, una Alumno y otra Datos (que es la que computa lo que pide la consigna. Está realizado el manejo de booleanos, espero lo veas sino me consultas. Ahora si, el código:

Clase Alumno:
Código:

public class Alumno{
   private boolean esH;
   private int nota;
   
   public Alumno (boolean _esH, int _nota){
      this.esH = _esH;
      this.nota = _nota;
   }
   
   public int getNota(){
      return this.nota;
   }
   
   public boolean esHombre(){
      return this.esH;
   }
}



Clase Datos:
Código:

import java.util.Vector;


public class Datos{
   private Vector<Alumno> listaP;
   
   public Datos(){
      listaP = new Vector<Alumno>();
   }
   
   public void insertarAlumno(boolean esH, int nota){
      listaP.add( new Alumno(esH,nota) );
   }
   
   public int cantHombresAprb(){
      int cont = 0;
   
      for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
         if( p.esHombre() )
            if ( p.getNota()>10 ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
               cont++;
               
      return cont;
   }
   
   public int cantMujeresAprb(){
      int cont = 0;
   
      for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
         if( !p.esHombre() )
            if ( p.getNota()>10 ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
               cont++;
               
      return cont;
   }
   
   public int cantMujeresDesaprb(){
      int cont = 0;
   
      for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
         if( ! p.esHombre() )
            if ( ! (p.getNota()>10) ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
               cont++;
               
      return cont;
   }
   
   public int notaMasAlta_H(){
      int nota = 0;
   
      for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
         if( p.esHombre() )
            if ( p.getNota()>nota ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
               nota = p.getNota();
               
      return nota;
   }
   
   public int notaMasAlta_M(){
      int nota = 0;
   
      for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
         if( ! p.esHombre() )
            if ( p.getNota()>nota ) //suponiendo que un alumno está aprobada si la nota es mayor que 10
               nota = p.getNota();
               
      return nota;
   }
   
   public int cantHombres(){
      int cant = 0;
      
      for( Alumno p : listaP ) //es una sentencia for-each, para toda persona del arreglo
         if( p.esHombre() )
            cant++;
               
      return cant;
   }
   
   public int cantMujeres(){
      int cant = 0;
      
      for( Alumno p : listaP ) //es una sentencia for-each, para todo alumno del arreglo
         if( ! p.esHombre() )
            cant++;
               
      return cant;
   }
   
   
   //MÉTODO DE LA EJECUCION DEL PROGRAMA
   //Uso mi propia clase Leer, cada uno tendrá su forma de leer por consola los datos que ingresa
   //el usuario (la mia es usando la clase Scanner)
   
   public static void main (String [] Args){
      boolean parar=false;
      boolean esHombre;
      Datos registro = new Datos();
      
      System.out.println("Ingrese a continuación los datos solicitados para cada alumno: \n");
      
      while(!parar){
         System.out.print("El alumno es hombre (si/no): "); //para indicar con "si" o "no"
         String sexo = Leer.linea(); //lee una cadena de caracteres
         esHombre = sexo.charAt(0)=='s' || sexo.charAt(0)=='S';
         System.out.print("Ingrese la nota del alumno: ");
         int nota = Leer.entero();
         System.out.println();
         
         parar = nota<0 | nota>20;
         
         if (! parar)
            registro.insertarAlumno(esHombre, nota);
      }//fin while
      
      System.out.println("Este es el informe generado a partir de los datos ingresados: ");
      System.out.println("Cantidad de mujeres: "+registro.cantMujeres());
      System.out.println("Cantidad de hombres: "+registro.cantHombres());
      System.out.println("Cantidad de mujeres aprobadas: "+registro.cantMujeresAprb());
      System.out.println("Cantidad de mujeres desaprobadas: "+registro.cantMujeresDesaprb());
      System.out.println("Nota mas alta de mujeres: "+registro.notaMasAlta_M());
      System.out.println("Nota mas alta de hombres: "+registro.notaMasAlta_H());
      
      System.out.println("\nEsto es todo amigos =)");
   }
}



Saludos. Espero te sirva!

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Bucle C inactiva programa hasta que acaba (¡URG...

jjrufo C, C#, Visual C++ 3 Mar 27 Ene, 2009 00:32 am Ver último mensaje
El foro no contiene ningún mensaje nuevo

Extensión FF2

Capilla Foro para otras bases de datos 5 Vie 28 Mar, 2008 21:31 pm Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,