Duvida Metodos

5 respostas
E

Bom pessoal comecei com java a alguns dias e to com uma duvida quanto no metodo feito com retorno vou colocar o codigo pra tentar explicar minha duvida.

package POO_Class;
import javax.swing.*;
public class Metodos {
	public static void main(String[] args){
		Metodos mes = new Metodos();
		JOptionPane.showMessageDialog(null,"Mes atual"+ mes.verifica());	
		
	}
	public String verifica(){
                String mes = Integer.parseInt(JOptionPane.showInputDialog("Mes: ");
                if (mes == 1)
                   return "Janeiro";
                if (mes == 2)
                   return "Fevereiro";
    }

}

Bom esse foi so um exemplo pra demonstrar minha duvida, queria saber o porque de nao funcionar meu metodo verifica, e como eu deveria fazer para que ele funciona-se
tenho muitos exercicios similares a esse, e to criando metodos sem retorno mesmo, porque quando ponho retorno similar ao que coloquei no codigo, ele da erro de compilação.
Desde ja agradeço a atenção.

5 Respostas

marcos4ft
String mes = Integer.parseInt(JOptionPane.showInputDialog("Mes: ");

Nessa linha, voce colocou uma variavel do tipo String pra receber um Integer.
Não levando em conta a validação de entrada, você pode alterar o tipo da sua variavel mes para integer,
lembrando q não estou considerando a questão de validação, pois o usuario pode digitar qualquer coisa.

No seu método verifica, vc tem q colocar um return no final. Se o usuario não digitar nem 1 e nem 2, qual o retorno?

S

Amigo, isso te ajuda?

Se funcionar e você estiver com dúvidas, vai postando que vamos te ajudando.

package POO_Class;   
import javax.swing.*;   
public class Metodos {   

public static void main(String[]args){


int mes = Integer.parseInt(JOptionPane.showInputDialog("Mes: ");
 verifica (mes);
	

public verifica (int x) {

switch (x) {

case 1: JOptionPane.showMessageDialog("null","Janeiro");break;
case 2: JOptionPane.showMessageDialog("null","Fevereiro");break;
case 3: JOptionPane.showMessageDialog("null","Março");break;
case 4: JOptionPane.showMessageDialog("null","Abril");break;
case 5: JOptionPane.showMessageDialog("null","Maio");break;
case 6: JOptionPane.showMessageDialog("null","Junho");break;
case 7: JOptionPane.showMessageDialog("null","Julho");break;
case 8: JOptionPane.showMessageDialog("null","Agosto");break;
case 9: JOptionPane.showMessageDialog("null","Setembro");break;
case 10: JOptionPane.showMessageDialog("null","Outubro");break;
case 11: JOptionPane.showMessageDialog("null","Novembro");break;
case 12: JOptionPane.showMessageDialog("null","Dezembro");break;

default : JOptionPane.showMessageDialog("null","Nenhum mês corresponde ao numero" + x);

}

}

}

}
E

marcos4ft:
String mes = Integer.parseInt(JOptionPane.showInputDialog("Mes: ");
Nessa linha, voce colocou uma variavel do tipo String pra receber um Integer.
Não levando em conta a validação de entrada, você pode alterar o tipo da sua variavel mes para integer,
lembrando q não estou considerando a questão de validação, pois o usuario pode digitar qualquer coisa.

No seu método verifica, vc tem q colocar um return no final. Se o usuario não digitar nem 1 e nem 2, qual o retorno?

Opa entao marcos, isso so foi um erro aqui quando fui mostrar o codigo, mas mesmo colocando o Int no lugar de String acontece um erro…
Quanto a ter colocado so 1 e 2 foi so um exemplo mesmo.
Meu problema real é nao conseguir fazer um metodo fazer um retorno…
Voce poderia me mostrar como se faz? com metodo sem retorno assim “public void verifica()” eu consigo fazer… mas metodos que precisam de retorno nao consigo.

Andersonrms

O seu método dá erro pq só será retornado algum valor caso o mes seja 1 ou 2, mas se for diferente não há retorno, portanto o compilador reclama. Se vc colocar um retorno no final resolve esse problema.

E

Pow obrigadao ai Anderson , marcos, e Soruji
Realmente era so colocar o retorno caso nao fose nem 1 e nem 2 vlw ae :slight_smile:

Criado 28 de março de 2012
Ultima resposta 28 de mar. de 2012
Respostas 5
Participantes 4