COMO LLAMAR A UNA FUNCION DESDE EL MAIN
Hola a todos! me estoy introduciendo en el mundo Java y claro no me aclaro, ¿qué hago mal en el programita que os adjunto a continuación?
Quiero saber llamar a una función desde el main xa que esta función haga cosas, como por ejemplo la suma de 2+2=4
class Suma {
int resultado;
public int sum(int valor1, int valor2){
resultado=valor1+valor2;
System.out.println("resultado");
}
}
class Main{
void Main(){
Main.sum(int 2,int 2);
}
}
Quiero saber llamar a una función desde el main xa que esta función haga cosas, como por ejemplo la suma de 2+2=4
class Suma {
int resultado;
public int sum(int valor1, int valor2){
resultado=valor1+valor2;
System.out.println("resultado");
}
}
class Main{
void Main(){
Main.sum(int 2,int 2);
}
}
Primero debes hacer una instancia de tu clase y luego podrás llamar a la función:
Suma s = new Suma();
s.sum( 2, 2);
Suma s = new Suma();
s.sum( 2, 2);
Hola!!
muchisimas gracias por atender mi mensaje, gracias a vuestra ayuda he conseguido hacer que mi programita no tenga fallos y compile aqui lo adjunto finalmente:
package javabasico;
public class Main {
public static void main(String[] args) {
Suma s = new Suma ();
s.sum(2,2);
}
}
class Suma {
public int sum(int valor1, int valor2){
int resultado;
resultado = valor1 + valor2;
System.out.println("resultado");
return resultado;
}
Ahora la unica pega que tengo es que en la ventana del Output en el NetBeans que es el que utilizo me aparece el siguiente mensaje:
init:
deps-jar:
Compiling 1 source file to C:Documents and SettingsAdministratorMy DocumentsNetBeansProjectsJAVA BASICObuildclasses
compile:
run:
resultado
BUILD SUCCESSFUL (total time: 1 second)
y claro yo creia que me aparecería el resultado de la suma, es decir un 4, en lugar de la palabra resultado.
¿Estoy haciendo algo mal?
muchisimas gracias por atender mi mensaje, gracias a vuestra ayuda he conseguido hacer que mi programita no tenga fallos y compile aqui lo adjunto finalmente:
package javabasico;
public class Main {
public static void main(String[] args) {
Suma s = new Suma ();
s.sum(2,2);
}
}
class Suma {
public int sum(int valor1, int valor2){
int resultado;
resultado = valor1 + valor2;
System.out.println("resultado");
return resultado;
}
Ahora la unica pega que tengo es que en la ventana del Output en el NetBeans que es el que utilizo me aparece el siguiente mensaje:
init:
deps-jar:
Compiling 1 source file to C:Documents and SettingsAdministratorMy DocumentsNetBeansProjectsJAVA BASICObuildclasses
compile:
run:
resultado
BUILD SUCCESSFUL (total time: 1 second)
y claro yo creia que me aparecería el resultado de la suma, es decir un 4, en lugar de la palabra resultado.
¿Estoy haciendo algo mal?
No hace falta que me contesteis otra vez, ya lo he solucionado. Era porque tenia en el Syste.out.println la palabra resultado entre comillas jejeje. Ya me va gustando a mi esto del java. Gracias de nuevo!
Para llamar a una función que se encuentre dentro de la misma donde se encuentra el main debes escribir la el nómbre de la función seguido de un par de paréntesis que encierran los parámetros que recibe la función (si es que recibe parámetros)
Ejm.
NombreFuncion(1, valor2);
Funcion1(valor2);
Funcion3();
Es importante recalcar que si la función devuelve un valor, se debe asignar éste valor a alguna variable que sea del mismo tipo que el valor que retorna la función.
Como ejemplo te pongo el que tu propusiste en un principio:
public class Prueba {
public static void main(String [] args){
int suma;
suma = funcionQueSuma();
}
public static int funcionQueSuma(){
int resultado;
resultado = 2+2;
return resultado;
}
}
En este caso, la función: funcionQueSuma, no recibe ni ningún parámetro, pero devuelve un valor de tipo entero, el cual se guada en la variable suma del main.
Suerte
Ejm.
NombreFuncion(1, valor2);
Funcion1(valor2);
Funcion3();
Es importante recalcar que si la función devuelve un valor, se debe asignar éste valor a alguna variable que sea del mismo tipo que el valor que retorna la función.
Como ejemplo te pongo el que tu propusiste en un principio:
public class Prueba {
public static void main(String [] args){
int suma;
suma = funcionQueSuma();
}
public static int funcionQueSuma(){
int resultado;
resultado = 2+2;
return resultado;
}
}
En este caso, la función: funcionQueSuma, no recibe ni ningún parámetro, pero devuelve un valor de tipo entero, el cual se guada en la variable suma del main.
Suerte
