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


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda supernob en java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda supernob en java  (Leído 3,991 veces)
Zetox

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Duda supernob en java
« en: 9 Septiembre 2010, 16:15 pm »

Hola, he empezado a mirar un poco la programacion en java e intento realizar un primer ejercicio (el tipico que te saludo y te dice "Hola"). El caso es que a la hora de compilar me da un error.

El codigo es:

Código
  1. public class TestGreeting {
  2. public static void main (String []arg){
  3. Greeting hello=new Greeting();
  4. hello.greet();
  5. }
  6. }
  7.  
y
Código
  1. public class Greeting {
  2. private void greet() {;
  3. System.outprintln("hola");
  4. }
  5. }
  6.  
El Error es:
TestGreeting.java:3: cannot find symbol
symbol  : class Greeting
location: class TestGreeting
                Greeting hello=new Greeting();
                ^
TestGreeting.java:3: cannot find symbol
symbol  : class Greeting
location: class TestGreeting
                Greeting hello=new Greeting();
                                   ^
2 errors


Alguien puede decirme q hago mal o q falta? He comprobado lo del Path y classpath y esta bien.

Gracias a todos


« Última modificación: 9 Septiembre 2010, 20:24 pm por LEYER » En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Duda supernob en java
« Respuesta #1 en: 9 Septiembre 2010, 16:45 pm »

Hola, lo que pasa es que tu metodo greet de la clase Greeting es de tipo private y solo esa clase puede acceder a el, para que otra clase (mediante un objeto como lo haces) pueda acceder necesita que sea tipo public, ademas despues del metodo out de la clase System te hace falta un punto xD. Y se te pasó un punto y coma de más, aun que no tendria que haber problemas al compilar


Un saludo


En línea

abc
Zetox

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Duda supernob en java
« Respuesta #2 en: 9 Septiembre 2010, 17:05 pm »

OUCH!!  (por lo del punto jeje)

Ya corregi los errores, puse el punto, y le quite el ; de mas, pero me sigue saliendo el mismo error. No se si reinstalar el JDK

El caso q el archivo Greeting.java si me deja compilarlo de forma correcta, pero el otro no
« Última modificación: 9 Septiembre 2010, 17:08 pm por Zetox » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda supernob en java
« Respuesta #3 en: 9 Septiembre 2010, 17:20 pm »

Si has declarado ambas clases en un mismo archivo ahi esta tu error, si no, importalas una dentro de otra para usar los miembros de estas.

Saludos
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Duda supernob en java
« Respuesta #4 en: 10 Septiembre 2010, 01:15 am »

Si has declarado ambas clases en un mismo archivo ahi esta tu error, si no, importalas una dentro de otra para usar los miembros de estas.

Saludos

No creo que tenga los dos en un mismo archivo  :rolleyes:

Citar
El codigo es:

Código
.

y

Código
.

Aun así intenta como te menciona debci, o solo quita la palabra public de la clase Greeting es decir tendrias
Código
  1. class Greeting {
. Aunque lo mas recomendable es tener varios archivos.

PD. cambiasté el tipo de acceso del metodo greet de la clase Greeting?, es decir debes tener
Código
  1. public void greet()
para que la clase TestGreeting pueda tener acceso a ella. Es que no veo que menciones nada sobre que hayas hecho ese cambio.

Un saludo
En línea

abc
afdlkglfgfdgfhgf

Desconectado Desconectado

Mensajes: 92


Ver Perfil
Re: Duda supernob en java
« Respuesta #5 en: 10 Septiembre 2010, 01:55 am »

alomejor no haz importado la clase  :huh:

yo lo aria asi

Código
  1. public class TestGreeting {
  2. public static void main (String []arg){
  3.  Greeting hello=new Greeting();
  4.  hello.greet();
  5. }
  6. }
  7.  
  8.  
  9. class Greeting
  10. {
  11. private void greet()
  12. {
  13.        System.out.println("hola");
  14. }
  15. }


si te fijas le saque el public a la clase "Greeting" esto seria en el caso, de que estubieras codeando las dos clases en un mismo archivo, la clase Greeting seria "friend" de la clase "TestGreeting" , por ende podria utilizarla. en un archivo *.java , se permite solo UNA clase publica.

ahora si lo estas haciendo por separado, en el archivo que estas codeando la clase
"public class Greeting" deberias ponerle al comienzo del archivo y ademas la clase "Greeting" deberias ponerla como publica.

Código
  1. package NombreDePackage;

y en la clase public class TestGreeting deberias importar la clase "Greeting", deberias poner esto al comenzo del archivo.

Código
  1. import NombreDePackage.Greeting;
  2. //En caso de tener mas de una clase en el mismo [i]package[/i] podrias poner
  3. import NombreDePackage.*;
  4. //El * significa que quieres importar todas las clases del package.



Eso seria , espero que te aya servido de algo.

PD: si hay algun error diganme, porque yo igual llevo poco en JAVA.
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Duda supernob en java
« Respuesta #6 en: 10 Septiembre 2010, 02:06 am »

PD: si hay algun error diganme, porque yo igual llevo poco en JAVA.


La clase TestGreeting tiene un objeto llamando hello con lo cual se intenta acceder al metodo greet de la clase Greeting, para esto el metodo greet debe de ser acceso public.

Código
  1. public void greet()


PD. Buena explicación lo del uso de paquetes
« Última modificación: 10 Septiembre 2010, 02:18 am por Darhiuz610 » En línea

abc
afdlkglfgfdgfhgf

Desconectado Desconectado

Mensajes: 92


Ver Perfil
Re: Duda supernob en java
« Respuesta #7 en: 10 Septiembre 2010, 02:15 am »

tenes razon, muchas gracias por tu correccion.
En línea

Xedrox

Desconectado Desconectado

Mensajes: 274



Ver Perfil
Re: Duda supernob en java
« Respuesta #8 en: 12 Septiembre 2010, 01:11 am »

Una pregunta Zetox, que IDE usas ? Yo trabajo con eclipse y los errores que has tenido generalmente te avisa antes y te corrige automáticamente un montón de cosas.
En línea

Zetox

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Duda supernob en java
« Respuesta #9 en: 15 Septiembre 2010, 00:20 am »

Gracias por todas las respuestas, seguire probando. Utilizo el editor Ultraedit. Usare el IDE Eclipse a ver q tal. OS comentare resultados


Gracias a todos ^_^
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines