Métodos

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?

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

se eu fizer, vai colocar meu nome no trabalho ?

Sim!

[code]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.”);
}

}

[/code]

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

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

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

`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, 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:

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);
}

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

1 curtida

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

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

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/

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.

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:

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?

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.

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

Então explique melhor qual sua dúvida.

o/

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

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/