Me expliquem por favor

Pessoal é o seguinte estou tentando entender como usar metodos que retornem ou não valores

Se eu declarar um metodo que contenha argumentos do tipo String

public static int soma (String num1, String num2)

então quando eu chamar o metodo soma no main, quer dizer que ele vai pedir valores do tipo String??
então eu tenho que declarar argumentos do tipo que eu quero que o usuario entre com o valor???

e sempre que meu metodo tiver return ele sempre, em qualquer caso, tera que terminar com o metodo return()???

Obrigado
Julio

public static int soma (String num1, String num2)

tem que retornar um inteiro e voce ta passando 2 string para a funcao entapo teria q fazer o seguinte

return (integer nun = Integer.parseInt(num1) + integer nun = Integer.parseInt(num1) )

se nao quiser retornar nada é

public static void soma (String num1, String num2)

Eu nao peguei a ideia da pergunta, mas sim ele vai pedir valores que sejam strings mas eu nao entendi na parte do usuario.

“return” não é um método, e sim uma palavra-chave que manda o método voltar a quem o chamou, e retornar com um valor.

Sim!!!

Sim!!!

Ele precisará ter um return porque quem o chamou está esperando um valor.

primeiro você declarou o seu método soma utilizando dois parâmetros do tipo String
para chamar o método soma em main você terá de fornecer dois valores para poder executar o método soma
esses valores são os argumentos que você está passando para que o método seja executado
eles devem ser do mesmo tipo que você declarou quando criou o método e no caso são duas strings
eles não precisam necessariamente ser inseridos pelo usuário
um método só terá um return quando ele retornar um valor
por exemplo, um método que calcule a média de duas provas
ele recebe dois argumentos, nota1 e nota2 e retorna a media para o método que o chamou
mas por exemplo, se esse método só imprimisse as duas notas na tela, então ele não teria de retornar nenhum valor, logo você declararia esse método como void
no caso do seu método soma, ele deverá retornar um inteiro pois você declarou ele como public static int

Ops!
GuiSys, só um detalhe:

É um método :wink:

[quote=bbmany]Ops!
GuiSys, só um detalhe:

É um método ;-)[/quote]

Opa, tem toda razão, vou editar pra ficar correto
e uma dica pro faicoxim
dê uma olhada no livro do deitel que explica essa parte de métodos de uma maneira bem fácil de entender

entender como usar é fácil…

o que você precisa entender realmente é o porque e quando usar metodos que retornem valores ou não…

de uma olhada nos metodos get’s(retorna valores) e set’s(não retorna), acho que vai te dar uma luz…

[ ]'s

Eu costumo pensar da seguinte forma: faz sentido o meu método retornar algo?

Se não faz, ele é um candidato a ser void. Se faz, então tenho que retornar um objeto de um determinado tipo… etc.

quando eu estava estudando metodos a minha dificuldade era a de pensar…

meu metodo tem um retorno… mas retorna pra onde, porque e para que?

um exemplo seria:

private String nome;

public String retornaNome(){
       return nome;
}
System.out.prinltn(retornaNome());

//é a mesma coisa de você fazer: 
System.out.println(nome);

//porque o metodo te retorna a variavel String nome;
//agora... o porque de não fazer System.out.println(nome); de uma olhada em get's e set's...

mas é o que o peczenyj falou mesmo se faz sentido ou não…

um metodo que não faria sentido seria o seguinte:

public String alteraNome(String novoNome){

     nome = novoNome;
     return nome;

}

esse metodo esta correto? está… mas não faz sentido…
se o metodo se chama alteraNome para que iriamos querer que retorne a variavel String nome?
aí que entra o void…

public void alteraNome(String novoNome){

       nome = novoNome;
}

esse metodo só faz o que diz fazer e ponto só altera a variavel e não te retorna nada…

[ ]'s