• Viernes 8 de Noviembre de 2024, 18:41

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.


Temas - Iggy16

Páginas: [1]
1
Java / main txt
« en: Martes 14 de Diciembre de 2010, 16:52 »
SOLUCIONADO

2
Java / JavaBuffered
« en: Martes 14 de Diciembre de 2010, 12:51 »
SOLUCIONADO

3
Java / Clase Grupo
« en: Miércoles 10 de Noviembre de 2010, 17:04 »
Métodos que me piden:

1. El método constructor: public Grupo(String laTitulacion, String elCentro, int elCodigo, Alumno[] elGrupo), que crea un objeto de la clase Grupo, permite definir los valores de todos sus atributos a partir de los valores de sus parámetros y devuelve la referencia al objeto creado. Ejemplo:             Grupo mañana = new Grupo("ESTUDIOS","CENTRO","GRUPO")

2.Los métodos public String estudios(), public String centro() y public int codigo() que al ser invocados devuelven el nombre de la titulacion, el centro donde se imparte y el codigo numerico del grupo.

3. El método public int numero() que al ser invocado devuelve el nº de alumnos matriculados.

4. El método public Alumno alumno (int i). SI consideramos que los alumnos estan numerados entre el 1 y N, N es el nº de alumnos matriculados en el grupo, una invocacion alumno(i) devuelve una referencia del objeto Alumno que tiene asignado el nº en el grupo.

5. El método public int contarNacidos (Fecha f1, Fecha f2), que al ser invocado devuelve el nº de alumnos por grupo cuya fecha de nacimiento esta comprendida entre [f1] y [f2], es decir, es igual o posterior a [f1] e igual o anterior a [f2].

6. El metodo public Alumno buscar (int nip) que busca en el listado de alumnos del grupo el NIP especificado como valor del parametro. Si no hay alumno con el NIP, devuelve null.

7.El metodo public Alumno buscar (Fecha f), que si la fecha de un alumno coincide con "f", devuelve una referencia al objeto Alumno que le corresponde. En caso contrario responde "null".

8. El metodo public void ordenarporNip() que al ser invocado reordena los objetos del listado de alumnos del grupo de forma que queden ordenador de menos a mayor valores del NIP.

9. El metodo public void ordenarPorEdad() que al ser invocado reordena los objetos del listado de alumnos del grupo de forma que queden ordenador empezando por los mas jovenes y acabando con los de mayor edad.
PD: El nip es un valor numérico de 6 cifras, tipo 123456.

Código: Java
  1. public class Grupo  {
  2.    
  3. private String unaTitulacion;
  4. private String unCentro;
  5. private int unCodigo;
  6. private Alumno[] listado;
  7.  
  8. public Grupo(String laTitulacion, String elCentro, int elCodigo, Alumno[] elGrupo) {
  9.     unaTitulacion=laTitulacion; unCentro=elCentro; unCodigo=elCodigo; listado=elGrupo;
  10. }
  11.  
  12. public String estudios() {
  13.     return unaTitulacion;
  14. }
  15.  
  16. public String centro() {
  17.     return unCentro;
  18. }
  19.  
  20. public int codigo() {
  21.     return unCodigo;
  22. }
  23.  
  24. public int numero() {
  25.     return listado.length;
  26. }
  27.  
  28. public Alumno alumno (int i) {
  29.     return listado[i];
  30. }
  31.  
  32. public int contarNacidos (Fecha f1, Fecha f2) {
  33.     // No se me ocurre nada
  34. }
  35.  
  36. public Alumno buscar (int nip) {
  37.     int indice=0;
  38.     while (listado[indice].nip()!=nip && indice<listado.length-1) indice++;
  39.     if(listado[indice].nip()==nip) return listado[indice];
  40.     else return null;
  41. }
  42.  
  43. public Alumno buscar (Fecha f) {
  44.     // Tampoco se me ocurre nada
  45. }
  46.  
  47. public void ordenarPorNip() {
  48.     for(int i=0; i<=listado.length-2;i++) {
  49.         int iMenor=i;
  50.         for(int j=i+1; j<=listado.length-1; j++)
  51.             if(listado[j].nip()<listado[iMenor].nip()) iMenor=j;
  52.         Alumno aux=listado[i];
  53.         listado[i]=listado[iMenor];listado[iMenor]=aux;
  54.     }
  55. }
  56. public void ordenarPorEdad() {
  57.     for(int i=0; i<=listado.length-2;i++) {
  58.         int iMenor=i;
  59.         for(int j=i+1; j<=listado.length-1; j++)
  60.             if(listado[j].nacimiento()<listado[iMenor].nacimiento()) iMenor=j;
  61.         Alumno aux=listado[i];
  62.         listado[i]=listado[iMenor];listado[iMenor]=aux;
  63.     }
  64. }
  65.  
  66. }
  67.  

4
Java / Métodos [main] para cada uno de los métodos
« en: Lunes 1 de Noviembre de 2010, 15:45 »
Hola, esta vez tengo dudas con la creación de métodos mains, necesito crear 5 mains para cada método que os presento a continuación, para comprobar su correcto funcionamiento:

Código: Text
  1. 1.// Devuelve la mayor de las cifras de [n] cuandp [n] se escribe en base 10
  2.      public static int cifraMayor (int n) {
  3.      int resto = 0;
  4.      int mayor = 0;
  5.      while (n!=0) {
  6.      resto = n%10;
  7.      if (resto > mayor)mayor=resto;
  8.      n= n/10;
  9.      }
  10.      return mayor;
  11.     }
  12.  

Código: Text
  1. 2.// Devuelve el mayor de los valores de [a] y [b]
  2.        public static int mayor (int a, int b) {
  3.        int mayor=0;
  4.        if (a>b){
  5.        mayor = a;
  6.       }else{
  7.        mayor = b;
  8.       }
  9.        return mayor;
  10.        }
  11.  

Código: Text
  1. 3.// Devuelve el mayor de los valores de [a], [b] y [c]
  2.       public static int mayor (int a, int b, int c) {
  3.       int mayor=0;
  4.       if (a>b) {
  5.       mayor = a;
  6.       }else{
  7.       mayor=b;
  8.    }
  9.       if (c > mayor){
  10.  
  11.       mayor =c;
  12.    }
  13.       return mayor;
  14.    }
  15.  

Código: Text
  1. 4.private static final String romanos[] = {"I","II","III","IV","V","VI","VII","VIII","IX"};
  2.          public static String romanizarCifra (int cifra) {
  3.              if (cifra>0 && cifra<=9) return romanos[cifra-1]; else return null;
  4.          }
  5.  

Código: Text
  1. 5.public static boolean sonPrimosEntreSi (int a, int b) {
  2.         if(a<0) a=-a;
  3.         if(b<0) b=-b;
  4.         while (b!=0) {
  5.         int resto = a%b;
  6.         a=b; b=resto;
  7.         }
  8.         if (a==1) {
  9.         return true;
  10.         }
  11.         else {
  12.         return false;
  13.         }
  14.  

Gracias ;)

5
Java / Error al compilar una clase
« en: Sábado 30 de Octubre de 2010, 15:53 »
Hola, tengo una clase ya hecha, que creo que no tiene errores, que se llama "CalculadoraEnteros.java". Esta clase está almacenada en un directorio mío, llamado pract2. A su vez, esta clase está almacenada en otro directorio llamado "bin/cap5/", donde aparecen cosas que el profesor sube, y ahi solo puedes copiar o leer archivos, ni borrar ni cambiar nombre, ni modificar nada. Yo copié esa clase a mi directorio, y a la hora de compilar me salta un error:

Código: Text
  1. CalculadoraEnteros.java:6: error while writing cap5.CalculadoraEnteros: bin/cap5/CalculadoraEnteros.class (No such file or directory)
  2. public class CalculadoraEnteros {
  3.        ^
  4. 1 error
  5.  
  6.  

Encima de "public class CalculadoraEnteros {" aparece: "package cap5;"
no se si tiene algo o mucho que ver eso, pero no se si el error está en que lee el otro archivo, el "/cap5/CalculadoraEnteros.java" o que pasa.

Ayuda Urgente ;)

6
Java / [DUDA] Revisar los métodos
« en: Jueves 28 de Octubre de 2010, 17:48 »
Hola, queria q me revisarais si este code está bn:


Código: Java
  1. import java.util.Scanner;
  2.  
  3. public class X {
  4.  
  5.             public static int leerEntero (String pregunta) {
  6.             Scanner entrada = new Scanner(System.in);
  7.             System.out.printf(pregunta);
  8.             return entrada.nextInt();
  9.         }
  10.             public static void main (String[] argumentos) {
  11.                 int numero = leerEntero("Escriba un número entero: ");
  12.                 System.out.printf("El número %d tiene %d cifras que suman %d y su imagen especular es el %dn",
  13.                         numero,
  14.                         CalculadoraEnteros.numCifras(numero),
  15.                         CalculadoraEnteros.sumaCifras(numero),
  16.                         CalculadoraEnteros.imagen(numero));
  17.         }
  18.             public static double leerReal (String pregunta) {
  19.                 Scanner entrada = new Scanner(System.in);
  20.                 System.out.printf(pregunta);
  21.                 return entrada.nextInt();
  22.             }
  23.             public static void main1 (String[] argumentos) {
  24.                 double numero = leerReal("Escriba un número real: ");
  25.                 System.out.printf("El número %d tiene %d cifras que suman %d y su imagen especular es el %dn",
  26.                         numero,
  27.                         CalculadoraEnteros.numCifras((int) numero),
  28.                         CalculadoraEnteros.sumaCifras((int) numero),
  29.                         CalculadoraEnteros.imagen((int) numero));
  30.         }
  31.        
  32. }
  33.  


Se supone que tengo que diseñar una clase "X" para facilitar 2 métodos públicos y státicos para programar la lectura de datos enteros y reales, dados por el operador a través de un terminal.

7
Java / [DUDA] Errores con los métodos
« en: Miércoles 27 de Octubre de 2010, 20:35 »
Buenas, tengo este codigo:
Código: Text
  1. public static int mcd (int a, int b) {
  2. if(a<0) a=-a;
  3. if(b<0) b=-b;
  4. while (b!=0) {
  5. int resto = a%b;
  6. a=b; b=resto;
  7. }
  8. return a;
  9. }
  10. }
  11.  

Y el sistema me da estos errores:
Linea 210: 'class' or 'interface' expected
  public static int mcd (int a, int b) {
                ^
Linea 220: 'class' or 'interface' expected
}
^
Linea 222: 'class' or 'interface' expected
^
3 errors

Las lineas son:
210:
Código: Text
  1. public static int mcd (int a, int b) {
  2.  
220:
Código: Text
  1. }
  2.  
222: (espacio)

Ese codigo estaba predefinido, nos lo dieron, pero me da error y no se xk xd

8
Java / [DUDA] Métodos públicos y de clase
« en: Martes 19 de Octubre de 2010, 16:59 »
Hola de nuevo, ahora presento algunas dudas sobre métodos públicos (public) y de clase (static);

Nos dieron algunos ejemplos:
1. Este método devuelve el número de cifras de [n] cuando n esté en base 10:
Código: Text
  1. public static int numCifras (int n) {
  2. int cuenta=1;
  3. n=n/10;
  4. while (n!=0) {
  5. cuenta ++; n=n/10;
  6. }
  7. return cuenta;
  8. }
  9.  

2. Este método devuelve la suma de las cifras de [n] cuando n esté en base 10:
Código: Text
  1. public static int sumaCifras (int n) {
  2. if (n<0) n=-n;
  3. int suma=0;
  4. while (n!=0) {
  5. suma += n % 10;
  6. n=n/10;
  7. }
  8. return suma
  9. }
  10.  

Y tenemos que construir estos métodos:
1. Un método que devuelva la mayor de las cifras de [n] cuando n esté en base10.
2. Un método que devuelva [true] si y solo si [a] y son primos entre si.
3. Un método que devuelva el mayor de los valores de a, b y c.
4. Un método que devuelva el mayor de los valores de a y b.
5. Un método que devuelva un String que representa [cifra] como un número romano, cifra>=0 y cifra<=9.

Sus respectivos códigos tienen que ser así:
1.
Código: Text
  1. public static int cifraMayor (int n) {      CODIGO      }
  2.  
2.
Código: Text
  1. public static boolean sonPrimosEntreSi (int a, int b) {     CODIGO     }
  2.  
3.
Código: Text
  1. public static int mayor (int a, int b) {    CODIGO          }
  2.  
4.
Código: Text
  1. public static int mayor (int a, int b, int c) {      CODIGO    }
  2.  
5.
Código: Text
  1. public static String romanizarCifra (int cifra) {       CODIGO      }
  2.  

Entonces, yo tengo algunas ideas, vosotros me corregís y ayudáis :)

Mis ideas son:

Del número 1, si por ejemplo tenemos el número en base10: 4186, evidentemente, la cifra mayor es el 8. Pues habrá que construir un método que compare las cifras del número en base10 y devuelva la mayor, algo como hacer un rango de que el número tiene que estar entre el 0 y el 9, entonces hacer. Si el número es el 4186, la cosa sería como en el metodo de numero de cifras, dividir por 10, tenemos el 418, dividir por 10, el 41, dividir por 10, el 4, dividir y obtenemos el 0. A partir de ahí comparar las 4 cifras y ver cuál es mayor. Eso en código Java no sé muy bien como expresarlo :l

Y del número 5 poner:
Código: Text
  1. public static String romanizarCifra (int cifra) {
  2. cifra>=0 && cifra<=9
  3. if (cifra==1)
  4. return I;
  5. else if (cifra==2)
  6. return II;
  7. else if (cifra==3)
  8. return III;
  9. else if (cifra==4)
  10. return IV;
  11. else if (cifra==5)
  12. return V;
  13. else if (cifra==6)
  14. return VI;
  15. else if (cifra==7)
  16. return VII;
  17. else if (cifra==8)
  18. return VIII;
  19. else if (cifra==9)
  20. return IX;
  21.  
  22. }
  23.  

Eso es lo que se me ha ocurrido poner hasta el momento.

¿Ideas para ayudarme y/o corregirme? Serán bienvenidas ;)

9
Java / [DUDA] Clase "Fecha"
« en: Jueves 14 de Octubre de 2010, 19:44 »
Hola, quiero que me ayuden a verificar si mi código está bien hecho;
es un ejercicio donde se pide diseñar una clase llamada "Fecha" cuyos
objetos deben gestionar información tipo dd/mm/aaaa. Los atributos han
de ser inaccesibles desde el exterior (private), debe facilitar métodos
constructores de objetos Fecha, debe facilitar un método que devuelva un
String de la forma dd/mm/aaaa, debe facilitar la comparación de fechas
(si son iguales o si una es mayor que otra) y debe facilitar un método
que permita redefinir el valor de la fecha gestionada por un objeto Fecha.

Mi code es:
Citar
public class Fecha {

private int dia;
private int mes;
private int año;

private int dd/mm/aa;

public int fecha() {
return fecha;
}

public Fecha(int dia, int mes, int año) {  // Inicio del método constructor
dia=dd;mes=mm;año=aaaa;

if dia>0 {
if dia<=31 {
dia=dd;

return(true);
 }
}

else {
return(false);
}

if mes>0 {
if mes<=12 {
mes=mm;
 return(true);
 }
}

else {
return(false);
}

if año>=1910 {
if año<=2010 {
año=aaaa
return(true);
 }
}

else {
return(false);
}

} // Fin del método constructor


public int consultarDia() {
return dia;
}

public int consultarMes() {
return mes;
}

public int consultarAño() {
return año;
}

public Fecha1(dia1,mes1,año1) {
dia1=dd;mes1=mm;año1=aaaa
}

public Fecha2(dia2,mes2,año2) {
dia2=dd;mes2=mm;año2=aaaa
}

Fecha Fecha1 = newFecha(dia1,mes1,año1),
      Fecha2 = newFecha(dia2,mes2,año2);

/*
* Comparar si Fecha1 es mayor que Fecha2
*/

if (año1>año2) {
return(true);
}

else {
if(año1==año2) {
if(mes1>mes2) {
return(true);
  }
 }
}

if(mes1==mes2) {
if(año1==año2) {
if(dia1>dia2) {
return(true);
  }
 }
}

else {
return(false);
}

/*
* Comparar si Fecha1 es igual a la Fecha2
*/

if(año1==año2) {
if(mes1==mes2) {
if(dia1==dia2) {
return(true);
  }
 }
}

else {
return(false);
}

Gracias.

Páginas: [1]