Ajuda c/ boolean - com setar este tipo de dado?

11 respostas
J

Oi galera, comecei a estudar linguagens de programação há pouco tempo, estou estudando por uma apostila que baixei na net, “Introdução à Linguagem Java” por Chistian Cleber Masdeval Braz, alguém conhece essa apostila?, bom, a cada capitulo tem aguns exercicios e justamente em um desses que eu não consigo concluir, pede pra criar um programa, dando valores a dois itens, calcular uma taxa e somar essa taxa ao valor dos itens, até aqui eu fui bem mas faltou criar uma variavel do tipo boolean em que se o resultado fosse maior que 10 deveria escrever na tela a mensagem “Muito Caro”, mas eu não sei como fazer isso, alguém pode me ajudar?
P.S: pede-se para não utilizar “if”.

Desde já agradeço.

11 Respostas

P

JavaE,

não precisa criar nenhuma variavel basta depois de fazer o calculo colocar o seguinte if

if (valor > 10){
System.out.println("Muito Caro");

}

sendo "valor" o numero que voce somou com a taxa.

bem simples não!

S

phfcosta:
JavaE,

não precisa criar nenhuma variavel basta depois de fazer o calculo colocar o seguinte if

if (valor > 10){
System.out.println("Muito Caro");

}

sendo "valor" o numero que voce somou com a taxa.

bem simples não!

Bem, sem utilizar o if só utilizando o while(ou outra expressão condicional != if() ). Não existe outra maneira de o fazer sem ser recorrendo ao uso de expressões condicionais. Posta o teu código para nós entendermos melhor e manipularmos a estrutura de modo a que faça o sugerido pelo enunciado.

Talvez ficasse semelhante a isto:

while(valor < 10) {

//soma das taxas etc...

}

System.out.println("Valor muito alto");

Espero ter sido útil :wink:

J

Não entendi bem o que a variavel boolean tem a ver, afinal o valor (10) é um inteiro então deveria ser uma variavel int ou algo semelhante.

Sobre como fazer sem usar o if, pode ser assim:

int valor = //soma

System.out.println(valor > 10 ? "Muito Caro" : "Barato");
S

Exacto, penso que é desnecessário usar uma variável boolean para este efeito. No entanto, a intenção do enunciado é que o programador consiga criar uma relação entre esse mesmo valor inteiro com um valor de verdade(boolean)…ou seja, fazer o utilizador TESTAR o valor inteiro e apartir daí atribuir um valor de verdade á variável boolean. Enfim, existem exercícios bem melhores para se trabalhar com booleans naquilo que é o contexto básico de programação.

J

e aê pessoal, obrigado pela ajuda, com ela pude então conseguir um resultado.

o codigo que escrevi foi esse:

class PrecoProduto

{

public static void main(String [] arg)

{

double itemClasseA = 2.95;

double itemClasseB = 3.50;

{

System.out.println("O cafe custa R$ “+itemClasseB+” e o leite custa R$ "+itemClasseA);

}

double custoTotal = itemClasseA+itemClasseB;

{

System.out.println("Total R$ "+custoTotal);

}

final double Taxa = 8.25;

double custoTaxa = custoTotal*Taxa/100;

{

System.out.println("Taxa em R$ "+custoTaxa);

}

double itemATx = itemClasseA+custoTaxa,

itemBTx = itemClasseB+custoTaxa;

double novoCusto = itemATx+itemBTx;

[color=red]  System.out.println(novoCusto >= 10 ? Muito Caro : Barato); [/color]

}

}

já com a setagem corrigida, obrigado mais uma vez, muito bom este forum.

F

Ola!!
Cara eu tb sou iniciante e tiro minhas duvidas aqui, mas naum eh isso q vim falar, na verdade o interessante eh vc entender o q foi feito e naum apenas copiar e colar.
Vc ja tinha visto esses operadores (’?’, ‘:’)?

J

FernandoGrilo:
Ola!!
Cara eu tb sou iniciante e tiro minhas duvidas aqui, mas naum eh isso q vim falar, na verdade o interessante eh vc entender o q foi feito e naum apenas copiar e colar.
Vc ja tinha visto esses operadores (’?’, ‘:’)?

fala aê FernandoGrilo, ver eu já vi, mas o que me ajudou mesmo foi a ajuda dos amigos daqui do forum, comecei estudar algoritimo e linguagem pascal, como eu não achei um compilador dessa linguagem, parti pro java, que é bem mais facil.
valeu!! continue o seus estudos aí, que continuarei com os meus aqui.

J

JavaE:
e aê pessoal, obrigado pela ajuda, com ela pude então conseguir um resultado.

o codigo que escrevi foi esse:

class PrecoProduto

{

public static void main(String [] arg)

{

double itemClasseA = 2.95;

double itemClasseB = 3.50;

{

System.out.println("O cafe custa R$ “+itemClasseB+” e o leite custa R$ "+itemClasseA);

}

double custoTotal = itemClasseA+itemClasseB;

{

System.out.println("Total R$ "+custoTotal);

}

final double Taxa = 8.25;

double custoTaxa = custoTotal*Taxa/100;

{

System.out.println("Taxa em R$ "+custoTaxa);

}

double itemATx = itemClasseA+custoTaxa,

itemBTx = itemClasseB+custoTaxa;

double novoCusto = itemATx+itemBTx;

[color=red]  System.out.println(novoCusto >= 10 ? Muito Caro : Barato); [/color]

}

}

já com a setagem corrigida, obrigado mais uma vez, muito bom este forum.

bom essa foi uma maneira de fazer isto, mas acabei de conseguir fazer exatamente o que o enunciado pede:

[color=red] boolean muitoCaro= novoCusto >; 10 == true;
System.out.println(muitoCaro ? “Muito Caro” : “Barato”);
[/color]

esta aí a variavel boolean pedida no enunciado, com valor true tendo como resultado “Barato”, se modificar o valor para false o resultado será “Muito Caro”. bom ajuda de vocês me fez ver como setar corretamente. mais uma vez obrigado a todos.

S
boolean muitoCaro= novoCusto > 10 == true;

Excelente :slight_smile: não sabia que era possível este tipo de sintaxe. Estamos sempre a aprender eheh

cumprimentos.

J

SrFabio:
boolean muitoCaro= novoCusto > 10 == true;

Excelente :slight_smile: não sabia que era possível este tipo de sintaxe. Estamos sempre a aprender eheh

cumprimentos.

fala aê SrFabio td blz, mas está certo, não está? se não tiver, será algum bug? a versão do jdk que tenho é a 1.6.0_03
quem puder testar isso e postar os resultados agradeço.

S

Está correctíssimo, testei no 1.5 e deu certo também. Eu é que não conhecia essa sintaxe…muito bem implementada realmente :slight_smile:

Cumprimentos.

Criado 26 de abril de 2008
Ultima resposta 5 de mai. de 2008
Respostas 11
Participantes 5