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.
[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.
`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
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.
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.
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.
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.
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.