elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Temas
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 22
31  Programación / Java / Encapsulamiento en: 4 Diciembre 2014, 16:08 pm
Saludos

Tengo el siguiente código que es una práctica que trata de la implementación de una clase MiFecha, la cual siempre mantenga una fecha válida en sus atributos. El código que tengo es el siguiente:

Código
  1. class MiFecha{
  2. final int CERO = 0;
  3. final int ENERO = 1;
  4. final int FEBRERO = 2;
  5. final int MARZO = 3;
  6. final int ABRIL = 4;
  7. final int MAYO = 5;
  8. final int JUNIO = 6;
  9. final int JULIO = 7;
  10. final int AGOSTO = 8;
  11. final int SEPTIEMBRE = 9;
  12. final int OCTUBRE = 10;
  13. final int NOVIEMBRE = 11;
  14. final int DICIEMBRE = 12;
  15.  
  16. private int dia;
  17. private int mes;
  18. private int año;
  19.  
  20. MiFecha()
  21. {
  22. dia =;
  23. mes =;
  24. año =;
  25. }
  26.  
  27. private boolean esBisiesto(int año)
  28. {
  29. boolean bisiesto = false;
  30. if(((año % 4) == CERO &&((año % 100) != CERO)) && ((año % 400) == CERO))
  31.       bisiesto = true;
  32. return bisiesto;
  33. }
  34.  
  35. private boolean verificaDia(int dia)
  36. {
  37. boolean fechaValida = false;
  38. switch(mes)
  39. {
  40.    case ENERO:
  41.    case MARZO:
  42.    case MAYO:
  43.    case JULIO:
  44.    case AGOSTO:
  45.    case OCTUBRE:
  46.    case DICIEMBRE:
  47.       if(dia >= 1 && dia <= 31)
  48.          fechaValida = true;
  49.       break;
  50.    case ABRIL:
  51.    case JUNIO:
  52.    case SEPTIEMBRE:
  53.    case NOVIEMBRE:
  54.       if(dia >= 1 && dia <= 30)
  55.          fechaValida = true;
  56.       break;
  57.    case FEBRERO:
  58.       if(esBisiesto(año))
  59.       {
  60.       if(dia >= 1 && dia <= 29)
  61.          fechaValida = true;
  62.       }
  63.       else
  64.       {
  65.       if(dia >= 1 && dia <= 28)
  66.          fechaValida = true;
  67.       }
  68.       break;
  69. }
  70. return fechaValida;
  71. }
  72.  
  73. public int dameDia()
  74. {
  75. return dia;
  76. }
  77.  
  78. public int dameMes()
  79. {
  80. return mes;
  81. }
  82.  
  83. public int dameAnio()
  84. {
  85. return año;
  86. }
  87.  
  88. public boolean fijaDia(int diax)
  89. {
  90. dia = diax;
  91. return true;
  92. }
  93.  
  94. public boolean fijaMes(int mesx)
  95. {
  96. mes = mesx;
  97. return true;
  98. }
  99.  
  100. public boolean fijaAnio(int aniox)
  101. {
  102. año = aniox;
  103. return true;
  104. }
  105. }
  106.  
  107. public class Encapsulamiento {
  108.  
  109. public static void main(String[] args) {
  110. MiFecha fecha = new MiFecha();
  111. fecha.fijaDia(31);
  112. fecha.fijaMes(11);
  113. fecha.fijaAnio(2014);
  114. System.out.println("DIA: "+fecha.dameDia());
  115. System.out.println("MES: "+fecha.dameMes());
  116. System.out.println("año: "+fecha.dameAnio());
  117. }
  118. }
  119.  

en el código utilizo los métodos fijaDia, fijaMes y fijaAnio para asignar el número de día, de mes y de año. El problema es que el código tiene algunos requerimientos un poco extraños y que no comprendo como por ejemplo me dice:

Inicializar todos los atributos(dia,mes,año) con datos válidos por medio de un constructor sin parámetros. Y después me dice:

Codificar en el ámbito del método main lo siguiente:

a) Declaración de la variable de instancia de tipo MiFecha e instanciación.
b) Definición de todos los atributos del objeto instanciado mediante sus tres métodos de interfaz.

Entonces no se cómo declarar el constructor, si en los métodos fija ya estoy inicializando los atributos

de antemano gracias
32  Programación / Java / exception en arbol binario en: 22 Noviembre 2014, 20:00 pm
Saludos

Estoy creando una arbol binario, en el cual los elementos del nodo son un apuntador al nodoIzquierdo, un  apuntador al nodoDerecho y el dato sería de tipo L, que a su vez es una clase que contiene dos elementos de tipo String uno que se llama lexema y otro categoria.

Para la clase NodoArbol tengo 2 constructores uno al que le paso un objeto de tipo L, y otra al que le paso simplemente un String, y ese string lo tengo que almacenar en el campo lexico de un objeto L, por eso lo hice de la siguiente manera:

Código
  1. class L{
  2. String lexico;
  3. String categoria;
  4.  
  5. L(){
  6. lexico = "";
  7. categoria = "";
  8. }
  9. }
  10.  
  11. class NodoArbol{
  12. NodoArbol nodoIzq;
  13. NodoArbol nodoDer;
  14. L lexema;
  15.  
  16. public NodoArbol(L datos){
  17. lexema = datos;
  18. nodoIzq = nodoDer = null;
  19. }
  20.  
  21. public NodoArbol(String datos) {
  22. lexema.lexico = datos;// aqui esta el error
  23. lexema.categoria = "";
  24. nodoIzq = nodoDer = null;
  25. }
  26.  
  27. public void insertar(L datos){
  28. if((datos.categoria).equals("Id"))
  29. {
  30. if(nodoIzq == null)
  31. {
  32. System.out.println("nodo lado izquierdo");
  33.   nodoIzq = new NodoArbol(datos);
  34. }
  35. else
  36.   nodoIzq.insertar(datos);
  37. }
  38. else
  39. {
  40. if(nodoDer == null)
  41.   nodoDer = new NodoArbol(datos);
  42. else
  43.   nodoDer.insertar(datos);
  44. }
  45. }
  46.  
  47. }
  48.  
  49. class Arbol{
  50. private NodoArbol raiz;
  51. public Arbol sig;
  52.  
  53. public Arbol(){
  54. raiz = null;
  55. sig = null;
  56. }
  57.  
  58. public void insertarNodo(String datos) {
  59. if(raiz == null)
  60. {
  61.       raiz = new NodoArbol(datos);
  62. }
  63. }
  64.  
  65. public void insertarNodo(L datos){
  66. if(raiz == null)
  67. {
  68.       raiz = new NodoArbol(datos);
  69. }
  70. else
  71.   raiz.insertar(datos);
  72. }
  73. }

el problema es que a la hora de mandar llamar al metodo insertarNodo() con un String como argumento, me manda un excepcion NullPointerException, en el siguiente constructor:

Código
  1. public NodoArbol(String datos) {
  2. lexema.lexico = datos;// aqui esta el problema
  3. lexema.categoria = "";
  4. nodoIzq = nodoDer = null;
  5. }

y no tengo idea de cómo arreglarlo

gracias de antemano
33  Programación / Java / duda con ArrayList en: 21 Noviembre 2014, 07:19 am
Saludos

esta es la primera vez que usa la clase ArrayList de java y tengo dudas sobre su funcionamiento, yo tengo una función el la cual atravez de un ciclo que lee un archivo y va agregando los elementos del archivo a la ArrayList, el problema es que no se como imprimir los datos que tengo en la lista, si se que tengo que tener un ciclo while en el que le diga que mientras lista no este vacia vaya imprimiendo. Pero como lo hago???

Código
  1. public static void Expresion(){
  2.     ArrayList<String> lista =  new ArrayList<String>();
  3.     lexico = Lexico();
  4.     categoria = categoriaLexica(estadoAnterior,lexico);
  5.     while(categoria.equals("Entero") || categoria.equals("Real") || categoria.equals("Id") || OperadorAritmetico(lexico) || OperadorRelacional(lexico) ||lexico.equals(")") || lexico.equals("("))
  6.     {
  7.     lista.add(lexico);
  8.     lexico = Lexico();
  9.     categoria = categoriaLexica(estadoAnterior,lexico);
  10.     }
  11.     while(!lista.isEmpty())
  12.       System.out.println("["+lista.??????)
  13.    }

La lista quiero que me ingrese los elementos por la cola, que es lo que creo que hace con simplemente ponerle el add. y que me imprima los elementos desde el primero hasta el ultimo, en ese orden.

de antemano gracias
34  Foros Generales / Dudas Generales / duda con expresion posfija en: 20 Noviembre 2014, 06:10 am
Saludos

Tengo la siguiente expresión infija que dice:

(i730 + sg2LQ) + ((+G0 / (3064 + 68324.06)) / 28)

y utilice VARIOS programas que hacen conversiones de infija a posfija y viceversa, y esos programas me dicen que la respuesta es:

i730 sg2LQ + G0 3064 68324.06 + /+ 28 / +

pero me dijeron que era

i730 sg2LQ + G0 + 3064 68324.06 + / 28 /

y la verdad no se cuál de los dos es el correcto???

gracias
35  Programación / Java / Arbol Sintactico en: 18 Noviembre 2014, 04:13 am
Saludos

Tengo que crear un árbol sintáctico en Java a partir de alguna expresión como esta:
 
z = a + b * - c

como esta es una asignacion, creo que el nodo de raiz debería de ser precisamente la palabra asignación, el lado izquierdo del nodo raiz sería la z, y el lado derecho del nodo sería la expresión a+b*-c, pero en POSTORDEN esto sería a b c - * +

me deberia quedar:

<asignacion>
z   <- lado izq
a b c - * +  <- lado der

pero me queda la duda de si tengo que crear otro arbol solo para la expresión derecha, un subarbol, porque no se de que otra manera podria hacer el recorrido postorden

de antemano gracias
36  Foros Generales / Dudas Generales / funciones no computables en: 10 Noviembre 2014, 03:42 am
Saludos

Alguien conoce alguna página, un libro, o algo donde pueda encontrar información de ejemplos de funciones no computables

de antemano gracias
37  Foros Generales / Dudas Generales / sintaxis y semantica en: 4 Noviembre 2014, 05:24 am
Saludos

Tengo una duda acerca de las diferencias entre un error sintactico y un error semántico. Por ejemplo si tengo una instrucción: if(4) yo sé que esto me generaría un error, pero no estoy seguro si este error se daría durante el análisis sintáctico o el semántico.

o en esta otra expresión:

(e-(b%4*3>2))

estuve buscando en algunas páginas en internet, y en una decía que  era por una expresión o parentesis no equilibrados, y los semanticos cuando un operador es aplicado a un operando incompatible. PERO NO SE EN CUAL CASO ENTRA ESTE!!

si alguien pudiera quitarme esta duda se lo agradecería mucho porque estoy haciendo un analizador sintactico y si no tengo claro cómo se manejan los errores no puedo avanzar
38  Programación / Programación General / LISP en: 2 Noviembre 2014, 18:10 pm
Saludos

estoy empezando a programar en LISP, y queria crear un codigo sencillo que tiene una funcion que se llama burbuja y que dentro tiene declarado un arreglo de 2 elementos y les va asignando valores a cada uno con setf, pero lo que me imprime es el nombre de la funcion!! o sea BURBUJA, y no los valores del arreglo, cómo puedo arreglar esto???????

Código
  1. (defun burbuja()
  2.    ((let (array (make-array '(2))))
  3.       (setf (aref array 0) 7)
  4.       (setf (aref array 1) 2)))
  5.  

gracias
39  Programación / Java / Pila dinamica en: 23 Octubre 2014, 03:55 am
Saludos, estoy tratando de hacer una Pila dinámica con una clase Pila y otra clase llamada nodoPila. Yo se que en las pilas las eliminaciones solo pueden ser por el tope de pila, o sea en el ultimo nodo, y es ahi donde tengo el problema en la función desapilar

Código
  1. class NodoPila{
  2. String elemento;
  3. NodoPila siguiente;
  4.  
  5. NodoPila(String simbolo){
  6. elemento = simbolo;
  7. siguiente = null;
  8. }
  9. }
  10. class Pila{
  11. private NodoPila primerNodo;
  12. private NodoPila tope;
  13.  
  14. Pila(){
  15. primerNodo = tope = null;
  16. }
  17.  
  18. public boolean estaVacia(){
  19. if(tope == null)
  20.   return true;
  21. else
  22.   return false;
  23. }
  24.  
  25. public void apilar(String simbolo){
  26. if(estaVacia())
  27.   primerNodo = tope = new NodoPila(simbolo);
  28. else
  29.   tope = tope.siguiente = new NodoPila(simbolo);
  30. }
  31.  
  32. public void desapilar(){
  33. NodoPila nodo;
  34. if(estaVacia())
  35.   System.out.println("Error: Lista vacia");
  36. else
  37.   ????????????;
  38. }
  39.  
  40. public void imprimirPila()
  41. {
  42. NodoPila nodo;
  43. for(nodo = primerNodo;nodo != null;nodo = nodo.siguiente)
  44.   System.out.println("["+nodo.elemento+"]");
  45. }
  46. }

no se como hacerle para que me elimine el tope sin necesidad de recorrer toda la lista hasta encontrar el ultimo nodo
40  Programación / Java / variable DeclaratorId expected after this token en: 6 Octubre 2014, 00:59 am
Saludos

Tengo una clase que se llama Gr, la cual tiene dos campos:

char regla;
String pDerechar;

Código
  1. class Gramatica{
  2. char regla;
  3. String pDerecha;
  4. }

y despues tengo otra clase en la cual quiero crear un objeto de tipo Gr y dentro de esa función inicializar las variables regla y pDerecha. El problema es que me aparece un error que dice:

variable DeclaratorId expected after this token

Código
  1. class S{
  2. Gramatica g = new Gramatica();
  3. g.regla = 'P';//aqui me aparece error
  4. g.pDerecha = "LpieDiBi;";//aqui tambien
  5. }

a que se debe esto???
de antemano gracias
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines