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 - lcanciani

Páginas: [1]
1
Me esta quemando la cabeza este ejercicio.
No entiendo como trabajan esta parte :
Citar
int i,j;
        for(i = 0; i < matriz.length; i++)
        {
            for(j = 0; j < i; j++)
            {//Si queremos ordenar de menor a mayor solo hay que cambiar > por <
                if(matriz.compareToPersona(matriz[j],comparePor)>0){
                    buffer[0] = matriz[j];
                    matriz[j] = matriz;
                    matriz = buffer[0];
                }
            }
        }

2
uhh que noob estoy :(
Citar
Tenemos que intentar a la hora de poner en los foros las soluciones de los ejercicios nombrar en el Asunto : de que ejercicio se trata.
Así será en próximos posteos.
Muchas muchas gracias :)

3
Hola,
Bueno el problema es que al ingresar un rango para que se genere el numero aleatorio, siempre se genera el primer término del rango:
Numero inicial=1
Numero final=15
x=((int)random.nextDouble()*15+1);
Siempre me genera 1 como numero aleatorio.(Este como el mal mayor)
Otro problema es cual seria la forma correcta de hacer que al ingresar por teclado un caracter se convierta a mayusculas.

Enunciado:
EJERCICIO

Crea un programa que cumpla lo indicado a continuación. El programa permitirá jugar a “adivinar un número entero” tantas veces como el usuario desee. En cada ocasión el programa pedirá al usuario el número inicial y el número final de la serie de números entre los que se encontrará el número a adivinar. También preguntará el número de intentos permitidos. En cada intento el número a adivinar será diferente y estará dentro del rango definido por el usuario.

Trás los intentos el programa nos dirá cuantas veces hemos acertado y cuántas veces hemos fallado, los números que eran solución y nos preguntará si queremos volver a jugar.

Ejemplo de ejecución:

Introduce el numero inicial del rango: 40
Introduce el numero final del rango: 60
Introduce el numero de intentos: 2
¿Qué numero estoy pensando? : 44
No has acertado
¿Qué numero estoy pensando? : 42
No has acertado
Has acertado 0 veces y has fallado 2 veces. Eran solución: 49, 41
Quieres probar otra vez ? (S/N): S
Introduce el numero inicial del rango: 4
Introduce el numero final del rango: 6
Introduce el numero de intentos: 2
¿Qué numero estoy pensando? : 4
No has acertado
¿Qué numero estoy pensando? : 5
Has acertado!!
Has acertado 1 veces y has fallado 1 veces. Eran solución: 6, 5
Quieres probar otra vez ? (S/N): N
Adiós

Para comprobar si tu solución es correcta puedes consultar en los foros aprenderaprogramar.com.

Código:

Código: [Seleccionar]
package randomclass;
import java.util.Random;
import java.util.Scanner;
public class RandomClass {

   
    public static void main(String[] args) {
       int ninicial,nfinal,nintentos,npensando,x;
       
       char c;
       Random rnd=new Random();
       Scanner en=new Scanner(System.in);
       System.out.println("Introduce el numero inicial de rango: ");
       ninicial=en.nextInt();
       System.out.println("Introduce el numero final del rango: ");
       nfinal=en.nextInt();
       System.out.println("Introduce el numero de intentos ");
       nintentos=en.nextInt();
       int [] qsio=new int[nintentos];
       do{
       int contaciertos=0,contfallos=0;
       for(int i=0;i<=nintentos-1;i++){
          System.out.println("¿Que numero estoy pensando?");
          npensando=en.nextInt();
          if(npensando==(x=(int)rnd.nextDouble()*nfinal+ninicial)){
              System.out.println("Has acertado!!");
             contaciertos++;
             qsio[i]=x;
          }
          else{
              System.out.println("No has acertado!");
              contfallos++;
              qsio[i]=x;
          }
       }
       System.out.println("has acertado "+contaciertos+" veces y has fallado "+
               contfallos+" veces.");
       System.out.println("Era solucion: ");
       for(int i=0;i<=nintentos-1;i++){
           System.out.println(qsio[i]);
       }
       System.out.println("Quieres probar otra vez? (S/N)");
       c=en.next().charAt(0);
           
       }
       while(c=='S');
       System.out.println("Adios");
    }
   
}

4
Excelente respuesta, todo entendido. Lo probé en el programita y funciona a la perfección.
Voy a poner en practica los consejos.
Muchas muchas gracias :) :)

5
Hola, estoy resolviendo ejercicios de arrays del curso Java avanzado.
No me doy cuenta porque no se guarda el primer dato ingresado en la posicion cero del array: nombreAlumnos.

Enunciado:
Crea un programa en el que se pida por consola el nombre de 2 alumnos y la nota
de cada uno de ellos como valor numérico. El resultado que debe mostrarse es el
nombre de cada alumno, su nota y su calificacion como texto
(Sobresaliente, Notable, Bien o Suspenso).
Para ello crea un array numérico y otro de String (ambos unidimensionales).
En el array numérico se insertarán las calificaciones facilitadas por el usuario
entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal.
En el array de Strings se insertarán los nombres de los alumnos.
Crea también un array de String donde insertaremos el resultado de la nota con
palabras admitiéndose estos valores: Sobresaliente, Notable, Bien o Suspenso.
El programa debe comprobar la nota de cada alumno teniendo en cuenta esta equivalencia:
Si la nota está entre 0 y 4,99 será un Suspenso.
Si la nota está entre 5 y 6,99 será un Bien.
Si la nota está entre 7 y 8,99 será un Notable.
Si la nota está entre 9 y 10 será un Sobresaliente.
Muestra por pantalla, el alumno su nota y su resultado en palabras utilizando bucles.
Crea los métodos que creas convenientes.
Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com

Código
Código: [Seleccionar]
package arrays2;
import java.util.Scanner;
public class Arrays2 {

    public static void main(String[] args) {
        String alumno;
        double calificacion;
        int cantidadDeAlumnos;
        Scanner en=new Scanner(System.in);
       System.out.println("Ingrese la cantidad de alumnos");
       cantidadDeAlumnos=en.nextInt();
       String []capacidadDeAlumno=new String[4];
       String [] nombreAlumnos=new String[cantidadDeAlumnos];
       double [] arregloCalificaciones=new double [cantidadDeAlumnos];
       System.out.println("Ingrese el nombre de los alumnos: ");
       for(int i=0;i<=nombreAlumnos.length-1;i++){
       
           alumno=en.nextLine();
           nombreAlumnos[i]=alumno;
           
       }
       for(int i=0;i<=nombreAlumnos.length-1;i++){
           System.out.println("Ingrese la calificación de: "+nombreAlumnos[i]);
       calificacion=en.nextInt();
       while (calificacion>10){
       System.out.println("Ingeso una nota incorrecta, ingrese nuevamente");
       calificacion=en.nextInt();
       }
       arregloCalificaciones[i]=calificacion;
       
       }
      capacidadDeAlumno[0]="Suspenso";
      capacidadDeAlumno[1]="Bien";
      capacidadDeAlumno[2]="Notable";
      capacidadDeAlumno[3]="Sobresaliente";
      for(int i=0;i<=1;i++){
          if (arregloCalificaciones[i]<5){
              System.out.println("Alumno: "+nombreAlumnos[i]+
                      " Calificación: "+arregloCalificaciones[i]+" Resultado: "
              +capacidadDeAlumno[0]);
          }
          else if(arregloCalificaciones[i]>=5&&arregloCalificaciones[i]<7){
             System.out.println("Alumno: "+nombreAlumnos[i]+
                      " Calificación: "+arregloCalificaciones[i]+" Resultado: "
              +capacidadDeAlumno[1]);
          }
          else if (arregloCalificaciones[i]>=7&&arregloCalificaciones[i]<9){
             System.out.println("Alumno: "+nombreAlumnos[i]+
                      " Calificación: "+arregloCalificaciones[i]+" Resultado: "
              +capacidadDeAlumno[2]);
          }
          else{
              System.out.println("Alumno: "+nombreAlumnos[i]+
                      " Calificación: "+arregloCalificaciones[i]+" Resultado: "
              +capacidadDeAlumno[3]);
          }
      }
    }
   
}

Salida:
Ingrese la cantidad de alumnos
2
Ingrese el nombre de los alumnos:
jose
Ingrese la calificación de:
8
Ingrese la calificación de: jose
9
Alumno:  Calificación: 8.0 Resultado: Notable
Alumno: jose Calificación: 9.0 Resultado: Sobresaliente

Páginas: [1]
Esto es un laboratorio de ideas...
Aprender a programar

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".