Autor
|
Tema: No me funciona este programa (Leído 5,980 veces)
|
Meta
|
Hola: Quiero saber el motivo de que no me funciona el programa. Este es el programa. /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mypkg; /** * * @author Hunter */ public class Main { /** * @param args the command line arguments */ public static void main (String[] args ) { // TODO code application logic here Fecha fecha = new Fecha(1, 4, 2005); Hora hora = new Hora(17, 30); Examen programación = new Examen("Programación en Java", "A105", fecha, hora); System. out. println(programación. toString()); programación.setFecha(new Fecha(1, 6, 2005)); programación.setHora(new Hora(9, 0)); System. out. println(programación. toString()); } }
Saludo.
|
|
|
En línea
|
|
|
|
BoF
Desconectado
Mensajes: 5
|
Simplemente no te encuentra esas clases que estas intentando usar.
|
|
|
En línea
|
|
|
|
.mokk.
Desconectado
Mensajes: 177
|
Donde estan las clases Fecha,Hora y Examen?
|
|
|
En línea
|
|
|
|
sapito169
Desconectado
Mensajes: 629
|
pues el unico que deberia saber eso eres tu de donde conseguiste el codigo ?
|
|
|
En línea
|
|
|
|
Meta
|
Supuestamente el código completo. /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package mypkg; /** * * @author Hunter */ public class Main { /** * @param args the command line arguments */ public static void main (String[] args ) { // TODO code application logic here Fecha fecha = new Fecha(1, 4, 2005); Hora hora = new Hora(17, 30); Examen programación = new Examen("Programación en Java", "A105", fecha, hora); System. out. println(programación. toString()); programación.setFecha(new Fecha(1, 6, 2005)); programación.setHora(new Hora(9, 0)); System. out. println(programación. toString()); } public class Fecha{ private int día; private int mes; private int año; public Fecha(int día, int mes, int año){ this.día = día; this.mes = mes; this.año = año; } public int getDía(){ return día; } public int getMes(){ return mes; } public int getAño(){ return año; } return día + "/" + mes + "/" + año; } } public class Hora{ private int hora; private int minuto; public Hora(int hora, int minuto){ if (hora < 0 || hora > 23 || minuto < 0 || minuto > 56){ } else{ this.hora = hora; this.minuto = minuto; } } public int getHora(){ return hora; } public int getMinuto(){ return minuto; } return hora + ":" + (minuto < 10 ? "0" : "") + minuto; } } public class Examen{ private Fecha fecha; private Hora hora; public Examen (String asignatura, String aula, Fecha fecha, Hora hora ){ this.asignatura = asignatura; this.aula = aula; this.fecha = fecha; this.hora = hora; } public void setAsignatura (String asifnatura ){ this.asignatura = asignatura; } public void setAula (String aula ){ this.aula = aula; } public void setFecha(Fecha fecha){ this.fecha = fecha; } public void setHora(Hora hora){ this.hora = hora; } public String getAsignatura (){ return asignatura; } return aula; } public Fecha getFecha(){ return fecha; } public Hora getHora(){ return hora; } return "Asignatura: " + asignatura + "\nAula: " + aula + "\nFecha: " + fecha.toString() + "\nHora: " + hora.toString(); } } }
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
Mensajes: 1.186
|
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
|
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
Mensajes: 1.186
|
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. public static void main (String[] args ) {}
Main.java /*Clase Main*/ public class Main{ // TODO add your handling code here: } /*Clase Fecha*/ class Fecha { // TODO add your handling code here: } /*Clase Hora*/ class Hora{ // TODO add your handling code here: } /*Clase Examen*/ class Examen{ // TODO add your handling code here: }
Saludos.
|
|
|
En línea
|
abc
|
|
|
Meta
|
Gracias por la aclaración mi muy distinguido amigo.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
No me funciona este programa de python
Scripting
|
VanX
|
4
|
4,087
|
9 Agosto 2011, 13:37 pm
por VanX
|
|
|
Emuhacker, quiero saber como funciona este programa
Ingeniería Inversa
|
jacalhacking
|
4
|
4,833
|
12 Octubre 2011, 09:28 am
por jacalhacking
|
|
|
¿porqué este programa símplemente no funciona?
Programación C/C++
|
Lotharsan
|
8
|
4,719
|
19 Julio 2012, 18:45 pm
por rir3760
|
|
|
¿Por qué no funciona correctamente este programa? Ficheros inside
Programación C/C++
|
NathanD
|
5
|
3,211
|
25 Febrero 2013, 22:58 pm
por NathanD
|
|
|
¿Cómo funciona scanf() en este programa?
Programación C/C++
|
alfred_oh
|
5
|
3,315
|
25 Febrero 2014, 09:39 am
por alfred_oh
|
|