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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda Java (para noob)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Duda Java (para noob)  (Leído 7,467 veces)
JonaLamper


Desconectado Desconectado

Mensajes: 394



Ver Perfil
Duda Java (para noob)
« en: 13 Octubre 2014, 13:05 pm »

Buenos días gente, resulta que estoy aprendiendo Java y aún tengo un cacao mental con las clases, los métodos, los objetos y toda la película. Total que estoy intentando ejecutar un código que me calcula un combinatorio:

Código
  1. package tp.Pr0;
  2.  
  3. public class FuncsMatematicas {
  4. /* public static int factorial (int n) {
  5. return n;
  6. }*/
  7. public static int combinatorio (int n, int k) {
  8. for (int i = 0; i < 6; ++i) {
  9. for (int j = 0; j <= i; ++j)
  10. System.out.print(FuncsMatematicas.combinatorio(i, j) + " ");
  11. System.out.println();
  12. }
  13. }
  14. public static void main (String args[]) {
  15. FuncsMatematicas.combinatorio(4, 2);
  16. }
  17. }

El problema es que en la línea 7 me da el siguiente error: "Este método debe devolver un resultado tipo int."

No sé si es que se me escapa algo o es que tengo los conocimiento demasiado verdes (o ambas cosas). De cualquier manera, gracias de ante mano.

PD: se admiten consejos para los que estamos aprendiendo Java  ;D


En línea

Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Duda Java (para noob)
« Respuesta #1 en: 13 Octubre 2014, 14:59 pm »

No se mucho.... pero si te pide retornar un tipo interna no deberías tener un

Código
  1. return numero;

O su equivalente para java?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
someRandomCode

Desconectado Desconectado

Mensajes: 250



Ver Perfil
Re: Duda Java (para noob)
« Respuesta #2 en: 13 Octubre 2014, 16:00 pm »

Cambia la funcion para que no retorne nada (volvela void)
En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: Duda Java (para noob)
« Respuesta #3 en: 14 Octubre 2014, 02:10 am »

seria asi
Código
  1. package tp.Pr0;
  2.  
  3. public class FuncsMatematicas {
  4. /* public static int factorial (int n) {
  5. return n;
  6. }*/
  7. public static void combinatorio (int n, int k) {
  8. for (int i = 0; i < 6; ++i) {
  9. for (int j = 0; j <= i; ++j)
  10. System.out.print(FuncsMatematicas.combinatorio(i, j) + " ");
  11. System.out.println();
  12. }
  13. }
  14. public static void main (String args[]) {
  15. FuncsMatematicas.combinatorio(4, 2);
  16. }
  17. }
  18.  

investiga la diferencia entre funcion y procedimiento... suerte
« Última modificación: 8 Noviembre 2014, 14:54 pm por simorg » En línea

Odai

Desconectado Desconectado

Mensajes: 25


Odai


Ver Perfil
Re: Duda Java (para noob)
« Respuesta #4 en: 25 Octubre 2014, 09:32 am »

Esta bien el método...
Código:
 public  void combinatorio (int n, int k) {
...}
Elimina la palabra static
Ya que static se utiliza para :
Citar
Un Método static:
- Tiene acceso solo a los atributos estáticos de la clase.
- No es necesario instanciar un objeto para poder utilizarlo.
Te recomiendo leer, programación en java 2 : algoritmos, estructuras de datos y programación orientada a objetos de Joyanes.
A mi me gusto bastante el libro.
En línea

Tengo demasiadas fantasías para ser una ama de casa.
Marilyn Monroe
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Duda Java (para noob)
« Respuesta #5 en: 25 Octubre 2014, 17:50 pm »

Eso mismo lo haces en C, probablemente no te de errores, pero eso es porque en C devuelve 0 por defecto si no me equivoco.
En línea

JonaLamper


Desconectado Desconectado

Mensajes: 394



Ver Perfil
Re: Duda Java (para noob)
« Respuesta #6 en: 5 Noviembre 2014, 11:19 am »

Lo pongo aquí para no abrir otro hilo:

Quiero hacer un array bidimensional de String e inicializarlo a con el valor "0" a través de su constructora, pero... no me sale :(

Código
  1. package ArrayVACIA;
  2.  
  3. public class Main {
  4. private String[][] array;
  5. private final int filas = 6;
  6. private final int columnas = 6;
  7.  
  8. public static void main(String[] args) {
  9. Main objeto = new Main();
  10. System.out.println(objeto.array);
  11. }
  12.  
  13. private Main() {
  14. for (int i=0; i <= this.filas; i++) {
  15. for (int j=0; j <= this.columnas; j++) {
  16. this.array[i][j] = "0";
  17. }
  18. }
  19. }
  20. }


¿Dónde estoy fallando?
En línea

Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.
Senior++


Desconectado Desconectado

Mensajes: 957

Ama y haz lo que te de la gana


Ver Perfil
Re: Duda Java (para noob)
« Respuesta #7 en: 5 Noviembre 2014, 11:42 am »

Jona, una pregunta, tu consigues los ejercicios de un curso en particular o tienes una web de ejercicios? :)

En línea

Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re:
« Respuesta #8 en: 5 Noviembre 2014, 12:03 pm »

No se si podria ser eso, pero prueba a declarar Main() como public.

Además, prueba poniendo new String ... ...

Dices que falla pero, qué problema te dá?
En línea

JonaLamper


Desconectado Desconectado

Mensajes: 394



Ver Perfil
Re: Duda Java (para noob)
« Respuesta #9 en: 5 Noviembre 2014, 12:26 pm »

Lo mismo pero más sencillo. Ahora intento meter en la posición 0,0 del array la palabra "hola" a traves del método setArray para después imprimirlo.

Código
  1. package ArrayVACIA;
  2.  
  3. public class Main {
  4. private String[][] array;
  5. /* private final static int filas = 6;
  6. private final static int columnas = 6;*/
  7.  
  8. public static void main(String[] args) {
  9. Main ob = new Main();
  10. ob.setArray();
  11. System.out.println(ob.array[0][0]);
  12. }
  13.  
  14. public void setArray() {
  15. this.array[0][0] = "hola";
  16. }
  17. }

El error:

Exception in thread "main" java.lang.NullPointerException
   at ArrayVACIA.Main.setArray(Main.java:15)
   at ArrayVACIA.Main.main(Main.java:10)

-----------------------------------------------------------------------------------------------------

Me descargué estos dos libros:

- Fundamentos de programación de java, Jorge Martínez Ladrón de Guevara.
- Aprenda java como si estuviera en primero, un puñado de escritores.

Tengo pendiente de leer esto que tiene buena pinta: http://programacion.net/articulo/tutorjava_nivel_basico_97/61

E hice estos ejercicios: http://puntocomnoesunlenguaje.blogspot.com.es/p/ejercicios.html
« Última modificación: 5 Noviembre 2014, 12:34 pm por JonaLamper » En línea

Utilizar palabras para hablar de palabras es como utilizar un lápiz para hacer un dibujo de ese lápiz sobre el mismo lápiz.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
:. Duda NooB pero Inquietante .:
Scripting
Cy.neOh 1 2,415 Último mensaje 22 Octubre 2006, 23:54 pm
por Division-x
[duda NOOB] ¿Se podría blockear la pantalla del PC con un programa?
Software
pskkk 9 2,870 Último mensaje 2 Diciembre 2011, 21:39 pm
por Eleкtro
Duda de noob con bus de datos
Windows
apoeti 2 2,282 Último mensaje 17 Noviembre 2012, 13:38 pm
por apoeti
Ayuda Porfavor Soy Noob en Java
Java
EricEBP 9 3,765 Último mensaje 25 Abril 2014, 20:40 pm
por EricEBP
Duda con files C++ (Soy un noob)
Programación C/C++
pablovg9 5 2,637 Último mensaje 2 Agosto 2015, 21:13 pm
por pablovg9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines