Métodos

20 respostas
H

Criar um método sem retorno, para atender os seguintes requisitos:

1 - Receber como argumento um valor inteiro da idade do usuário;

2 - Receber um valor booleano para saber se o usuário tem título de eleitor ou não;

3 - Verificar se o mesmo pode votar;

1. para votar precisar ser maior de 16 anos e possuir título.

2. caso ele não tenha título e seja maior de 16 anos, ele não pode votar.

3. caso ele tenha mais de 18 anos, ele é obrigado a votar.

Poderiam me ajudar?

20 Respostas

L

O que você ja fez? quais são as suas dúvidas?

I

se eu fizer, vai colocar meu nome no trabalho ?

H

Sim!

J
public void verificar(int idade, boolean titulo){
   if(idade >=16 && idade <18 && titulo){  // tem de 16 a 17 anos e possui titulo de eleitor
       System.out.println("PODE VOTAR");
   }
   if(idade >= 16 && idade < 18 && !titulo){  // tem de 16 a 17 anos mas não possui titulo
      System.out.println("NÃO PODE VOTAR");
   }

  if(idade >= 18){  // tem 18 anos ou mais (neste caso obrigatoriamente ele deve ter o titulo, pelo que eu entendi)
      System.out.println("OBRIGADO A VOTAR");
    }

  if(idade < 16){  // tem menos de 16 (neste caso obrigatoriamente ele já não pode votar, pelo que eu entendi
    System.out.println("Não pode votar.");
  }

}

Verifica se está tudo certinho porque fiz aqui pelo GUJ mesmo.

H

Amigo como faço para as declarações das minhas variáveis nesse caso ae?

H

Ou melhor dizendo como faço para a leitura dessas minhas variáveis?

H
`import java.util.Scanner;

public class Tarefa_de_casa {

public static Scanner leia = new Scanner(<a href="http://System.in">System.in</a>);

public static void verificacao(int idade, boolean titulo_de_eleitor, String SN){

if(SN == Sim){

titulo_de_eleitor = true;

}

if(SN == Não){

titulo_de_eleitor = false;

}

if(idade >= 16 && idade < 18 && titulo_de_eleitor == true){  // tem de 16 a 17 anos e possui titulo de eleitor

System.out.println(Pode votar!);

}

if(idade >= 16 && idade < 18 && !titulo_de_eleitor){  // tem de 16 a 17 anos mas não possui titulo

System.out.println(Não pode votar!);

}

if(idade >= 18){  // tem 18 anos ou mais (neste caso obrigatoriamente ele deve ter o titulo, pelo que eu entendi)

System.out.println(Obrigatório votar!);

}

if(idade < 16){  // tem menos de 16 (neste caso obrigatoriamente ele já não pode votar, pelo que eu entendi

System.out.println(Não pode votar!);

}

}

public static void main(String args[]) {

System.out.println("Digite a idade: ");

verificacao(idade = leia.nextInt());

System.out.println("Possui título ou não? ");

verificacao(SN = leia.nextLine());

}
}`

O no que estou nessa parte ai de ler as variáveis é que não estou conseguindo :confused:

J

Boa tarde, Happy_day!
Sugiro que faça algo neste seu método principal:

public static void main(String args[]) {

System.out.println("Digite a idade: ");

idade = leia.nextInt());

System.out.println("Possui título ou não? ");

possuiTitulo = leia.nextBoolean();

verificacao(idade,possuiTitulo);

}
S

Cara você deveria tentar primeiramente, e não pedir resposta pronta!

H

E o que acha que eu estava fazendo? acha que passei o dia fazendo nada?

H

No lugar de ficar me pré-jugando, sem saber o que estou a fazer, poderia estar me ajudando!

S

Não quis ofender. Melhor deixar para lá. É que há vários tópicos
nesse estilo e quase sempre é alguém querendo resposta pronta.
Se você não se enquadra nisso, deixa para lá e desculpa.

o/

L

Abaixe o tom, antes de bancar o ofendido entenda que:

  1. Você postou o problema
  2. Pediu por ajuda.

Nada de errado até ai, mas além disso você:

  1. Não especificou quais problemas você está/estava com dúvida.
  2. Não mostrou o que você já tinha feito.
  3. Ambos foram pedidos e você simplesmente ignorou os posts e apenas deu atenção pra quem te deu resposta pronta.

Então, sem choradeira e sinta-se agradecido por ter gente querendo tirar suas dúvidas.

H

Ambos eu e saulod erramos, desculpas peço eu, assim como ele foi humilde o bastante para se diminuir, poucas são as pessoas que fazem isso, agradeço a todos que tentaram ajudar, obrigado mesmo, irei tentar resolver esse problema de um jeito ou de outro mas obrigado a atenção de todos ao tópico. :slight_smile:

S

Cara, você também foi humilde e guerreiro na sua resposta, parabéns.
Claro que ambos erramos, porém mais da minha parte. O certo é deixar tudo para lá e tirar como aprendizado.

Pode continuar perguntando que sempre estarei a disposição para responder, se souber, assim
como outros participantes do GUJ.

o/

Ps.: Já conseguiu resolver?

H

Obrigado Saulod, estamos de boa na lagoa!
Pois então até agora o que está me impedindo de resolver é somente a parte da leitura dessas minhas variáveis, tentei de muitas mas muitas maneiras mas até agora não houve nenhum resultado, eu inclusive esqueci de informar mas eu sou extremamente leigo e iniciante em java hehe.

S

A citação de “Jubinha” e “Jniorsandro” anteriormente não atende ao seu caso?

Então explique melhor qual sua dúvida.

o/

H

Eu fiz exatamente como foi citado mas, não sei explicar o porque de o código não rodou.

S

Olhando de verdade as respostas anteriores estão meio confusas. Você quer um método que não retorne nada mas imprima na tela se o usuário é ou não é permitido votar, e se sim afirmar também se é obrigatório a votação.

Vamos lá:

No seu main():

Você citou postou anteriormente sua versão, que está errada sintaticamente, porque você está atribuindo variáveis dentro do parênteses da função verificacao(). Ex.: verificacao(idade = leia.nextInt()); Isso é um erro, solução melhor foi dada por “Jubinha”. Pegue a dele.

No seu verificar() baseado no de “Jniorsandro”:

Estava correta, porém você a deixou errada. Por quê?
Olhe o protótipo da sua função verificacao():

public static void verificacao(int idade, boolean titulo_de_eleitor, String SN)

Você não precisa desse parâmetro SN. O seu objetivo não era informar se o usuário pode ou não votar com base em sua idade e se possui título? Então, basta apenas os dois primeiros parâmetros.

Não gosto de postar código completo, mas perceba agora as diferenças:

import java.util.Scanner;

public class Tarefa_de_casa {
public static Scanner leia = new Scanner(System.in);

public static void verificacao(int idade, boolean titulo_de_eleitor) {
    if (idade >= 16 && idade < 18 && titulo_de_eleitor == true) { // tem de 16 a 17 anos e possui titulo de eleitor
        System.out.println("Pode votar!");
    }
    if (idade >= 16 && idade < 18 && !titulo_de_eleitor) { // tem de 16 a 17 anos mas não possui titulo
        System.out.println("Não pode votar!");
    }
    if (idade >= 18) { // tem 18 anos ou mais (neste caso obrigatoriamente ele deve ter o titulo, pelo que eu entendi)
        System.out.println("Obrigatório votar!");
    }
    if (idade < 16) { // tem menos de 16 (neste caso obrigatoriamente ele já não pode votar, pelo que eu entendi
        System.out.println("Não pode votar!");
    }
}

public static void main(String args[]) {
    int idade;
    boolean temTitulo;
    System.out.print("Digite a idade: ");
    idade = leia.nextInt();
    System.out.print("Possui título (true/false)? ");
    temTitulo = leia.nextBoolean();
    // Agora sim você chama verificacao()
    verificacao(idade, temTitulo);
} }

Isso é uma cópia quase exata dos anteriores, porém corrigida ingenuamente.

Qualquer coisa, estamos aí.

o/

H
Amigo muito obrigado, valeu mesmo, o que estava me proibindo para que o código desse certo foi nessa parte que você corrigiu:

int idade;

boolean temTitulo;

deveria ter percebido eu que estava dentro de outro bloco e que estava a fazer outras variáveis dentro do mesmo, agradecido estou por você ter me ajudado, vou prestar mais atenção dessa vez!

Criado 14 de maio de 2016
Ultima resposta 16 de mai. de 2016
Respostas 20
Participantes 6