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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  No me funciona este programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No me funciona este programa  (Leído 5,664 veces)
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
No me funciona este programa
« en: 21 Abril 2011, 13:36 pm »

Hola:

Quiero saber el motivo de que no me funciona el programa.

Este es el programa.
Código
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package mypkg;
  7.  
  8. /**
  9.  *
  10.  * @author Hunter
  11.  */
  12. public class Main {
  13.  
  14.    /**
  15.      * @param args the command line arguments
  16.      */
  17.    public static void main(String[] args) {
  18.        // TODO code application logic here
  19.        Fecha fecha = new Fecha(1, 4, 2005);
  20.        Hora hora = new Hora(17, 30);
  21.        Examen programación = new Examen("Programación en Java", "A105", fecha, hora);
  22.        System.out.println(programación.toString());
  23.        programación.setFecha(new Fecha(1, 6, 2005));
  24.        programación.setHora(new Hora(9, 0));
  25.        System.out.println(programación.toString());
  26.    }
  27.  
  28. }
  29.  



Saludo.


En línea

BoF

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: No me funciona este programa
« Respuesta #1 en: 21 Abril 2011, 13:43 pm »

Simplemente no te encuentra esas clases que estas intentando usar.


En línea

.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: No me funciona este programa
« Respuesta #2 en: 21 Abril 2011, 17:37 pm »

Donde estan las clases Fecha,Hora y Examen?
En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: No me funciona este programa
« Respuesta #3 en: 21 Abril 2011, 20:10 pm »

pues el unico que deberia saber eso eres tu de donde conseguiste el codigo ?
En línea

Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: No me funciona este programa
« Respuesta #4 en: 21 Abril 2011, 20:45 pm »

Supuestamente el código completo.

Código
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5.  
  6. package mypkg;
  7.  
  8. /**
  9.  *
  10.  * @author Hunter
  11.  */
  12. public class Main {
  13.  
  14.    /**
  15.      * @param args the command line arguments
  16.      */
  17.    public static void main(String[] args) {
  18.        // TODO code application logic here
  19.        Fecha fecha = new Fecha(1, 4, 2005);
  20.        Hora hora = new Hora(17, 30);
  21.        Examen programación = new Examen("Programación en Java", "A105", fecha, hora);
  22.        System.out.println(programación.toString());
  23.        programación.setFecha(new Fecha(1, 6, 2005));
  24.        programación.setHora(new Hora(9, 0));
  25.        System.out.println(programación.toString());
  26.    }
  27.    public class Fecha{
  28.        private int día;
  29.        private int mes;
  30.        private int año;
  31.  
  32.        public Fecha(int día, int mes, int año){
  33.            this.día = día;
  34.            this.mes = mes;
  35.            this.año = año;
  36.        }
  37.  
  38.        public int getDía(){
  39.         return día;
  40.        }
  41.  
  42.        public int getMes(){
  43.            return mes;
  44.        }
  45.  
  46.        public int getAño(){
  47.            return año;
  48.        }
  49.  
  50.        public String toString(){
  51.            return día + "/" + mes + "/" + año;
  52.        }
  53.    }
  54.  
  55.    public class Hora{
  56.        private int hora;
  57.        private int minuto;
  58.        public Hora(int hora, int minuto){
  59.            if (hora < 0 || hora > 23 || minuto < 0 || minuto > 56){
  60.                throw new IllegalArgumentException();
  61.            }
  62.            else{
  63.                this.hora = hora;
  64.                this.minuto = minuto;
  65.            }
  66.        }
  67.  
  68.        public int getHora(){
  69.            return hora;
  70.        }
  71.  
  72.        public int getMinuto(){
  73.            return minuto;
  74.        }
  75.  
  76.        public String toString(){
  77.            return hora + ":" + (minuto < 10 ? "0" : "") + minuto;
  78.        }
  79.    }
  80.  
  81.    public class Examen{
  82.        private String asignatura;
  83.        private String aula;
  84.        private Fecha fecha;
  85.        private Hora hora;
  86.  
  87.        public Examen(String asignatura, String aula, Fecha fecha, Hora hora){
  88.            this.asignatura = asignatura;
  89.            this.aula = aula;
  90.            this.fecha = fecha;
  91.            this.hora = hora;
  92.        }
  93.  
  94.        public void setAsignatura(String asifnatura){
  95.            this.asignatura = asignatura;
  96.        }
  97.  
  98.        public void setAula(String aula){
  99.            this.aula = aula;
  100.        }
  101.  
  102.        public void setFecha(Fecha fecha){
  103.            this.fecha = fecha;
  104.        }
  105.  
  106.        public void setHora(Hora hora){
  107.            this.hora = hora;
  108.        }
  109.  
  110.        public String getAsignatura(){
  111.            return asignatura;
  112.        }
  113.  
  114.        public String getAula(){
  115.            return aula;
  116.        }
  117.  
  118.        public Fecha getFecha(){
  119.            return fecha;
  120.        }
  121.  
  122.        public Hora getHora(){
  123.            return hora;
  124.        }
  125.  
  126.        public String toString(){
  127.            return "Asignatura: " + asignatura +
  128.                    "\nAula: " + aula +
  129.                    "\nFecha: " + fecha.toString() +
  130.                    "\nHora: " + hora.toString();
  131.        }
  132.    }
  133. }
  134.  

Me da este fallo.
run:
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - non-static variable this cannot be referenced from a static context
        at mypkg.Main.main(Main.java:19)
Java Result: 1
GENERACIÓN CORRECTA (total time: 3 seconds)
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: No me funciona este programa
« Respuesta #5 en: 21 Abril 2011, 21:49 pm »

 :¬¬

Deja las clases Fecha, Hora y Examen fuera de la clase Main.

Es decir crea otros archivos java con el nombre de esas clases (Hora.java, Fecha.java y Examen.java)
Aunque también puedes dejarlos en el mismo archivo (pero fuera de la clase Main) y tendrías que quitar el public a cada clase (excepto Main).


Saludos.
En línea

abc
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: No me funciona este programa
« Respuesta #6 en: 22 Abril 2011, 05:57 am »

Lo puse hacia fuera como dijiste y me funciona a la primera.

Una duda. Si lo dejo dentro en el mismo archivo como me dijiste sin el public, entonces funciona como dices???????????

Gracias por la ayuda, ahora lo entiendo un poco mejor.
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: No me funciona este programa
« Respuesta #7 en: 22 Abril 2011, 07:20 am »

Lo puse hacia fuera como dijiste y me funciona a la primera.

Una duda. Si lo dejo dentro en el mismo archivo como me dijiste sin el public, entonces funciona como dices???????????

Gracias por la ayuda, ahora lo entiendo un poco mejor.

Si, debe de funcionar así.

Ojo dentro del mismo archivo, no de la misma clase, es decir.
El nombre de tu archivo debe tener el mismo nombre en donde se encuentre el método main ademas de que esa clase debe ser pública.

Código
  1. public static void main(String[] args) {}

Main.java
Código
  1. /*Clase Main*/
  2. public class Main{
  3.  // TODO add your handling code here:
  4. }
  5.  
  6. /*Clase Fecha*/
  7. class Fecha {
  8.  // TODO add your handling code here:
  9. }
  10.  
  11. /*Clase Hora*/
  12. class Hora{
  13.  // TODO add your handling code here:
  14. }
  15.  
  16. /*Clase Examen*/
  17. class Examen{
  18.  // TODO add your handling code here:
  19. }
  20.  


Saludos.
En línea

abc
Meta


Desconectado Desconectado

Mensajes: 3.438



Ver Perfil WWW
Re: No me funciona este programa
« Respuesta #8 en: 22 Abril 2011, 07:42 am »

Gracias por la aclaración mi muy distinguido amigo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No me funciona este programa de python
Scripting
VanX 4 3,799 Último mensaje 9 Agosto 2011, 13:37 pm
por VanX
Emuhacker, quiero saber como funciona este programa
Ingeniería Inversa
jacalhacking 4 4,474 Último mensaje 12 Octubre 2011, 09:28 am
por jacalhacking
¿porqué este programa símplemente no funciona?
Programación C/C++
Lotharsan 8 4,364 Último mensaje 19 Julio 2012, 18:45 pm
por rir3760
¿Por qué no funciona correctamente este programa? Ficheros inside
Programación C/C++
NathanD 5 2,925 Último mensaje 25 Febrero 2013, 22:58 pm
por NathanD
¿Cómo funciona scanf() en este programa?
Programación C/C++
alfred_oh 5 3,038 Último mensaje 25 Febrero 2014, 09:39 am
por alfred_oh
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines