Ir ao conteúdo

Calculo Imposto em Java


Rafael Felipe

Posts recomendados

Postado

bom, eu voltei rsr.

o enunciado

"Calcular e exibir o valor do seguro.

Para mulheres com habilitação emitida a menos de 3 anos 7% do valor do veiculo e com 3 anos ou mais 5%.

Para homens com menosde 3 anos 8% e 6% com 3 anos ou mais"

então eu fiz o processo em java, só que não compila mostra que o "ELSE" está errado..

segue abaixo.

package ProgramaçãoEstruturada;
import java.util.Scanner;
public class Portugolseguro {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
float sexo, tempo_de_habilitacao, indice, valor, seguro, descricao;
Scanner entrada = new Scanner(System.in);
System.out.println("Digite o sexo [1 = Feminino ou 2 = Masculino]");
sexo = entrada.nextFloat();
System.out.println("Digite o tempo de habilitação");
tempo_de_habilitacao = entrada.nextFloat();
System.out.println("Digite o valor do veiculo");
valor = entrada.nextFloat();
//
if (sexo == 1);
float feminino;
descricao = (feminino);
if (tempo_de_habilitacao < 3);
indice = (7.0f);
else
indice = (5.0f);
//
if (sexo == 2);
float masculino;
descricao = (masculino);
if (tempo_de_habilitacao < 3);
indice = (8.0f);
else
indice = (6.0f);
//
seguro = (valor * indice / 100);
//
System.out.println ("Sexo" + descricao);
System.out.println ("Tempo de Habilitacao" + tempo_de_habilitacao);
System.out.println ("Valor do Veiculo" + valor);
System.out.println ("Indice" + indice);
System.out.println ("Valor do seguro" + seguro);

}

}

Postado

Eu estava sem o que fazer por aqui e resolvi corrigir teu código. Deixa eu te perguntar, você estudou antes de tentar fazer esse exercício ? Ele estava cheio de erros muito primários ... mas enfim, vamos corrigir algumas coisas que me vieram na cabeça :D

Primeiramente, a descrição deve ser inicializada como String, não com float. Pois mais na frente percebi que desejava atribuir a ela "Masculino" ou "Feminino".


String descricao;

Eu também substitui o float por double, acho que encaixaria melhor para os valores que podem vir a ser digitados pelo usuário.

Ah, e outra. Na hora de receber uma string tu deve fazer da seguinte forma:


descricao = "Masculino";

e não


descricao = (masculino);

Enfim, ai está o programa arrumado ( ou pelo menos acho que sim kkkk )


import java.util.Scanner;
public class Portugolseguro
{
public static void main(String[] args)
{

double sexo, tempo_de_habilitacao, indice, valor, seguro=0.0;
String descricao="NULL";
Scanner entrada = new Scanner(System.in);
System.out.println("Digite o sexo [1 = Feminino ou 2 = Masculino]");
sexo = entrada.nextDouble();
System.out.println("Digite o tempo de habilitação");
tempo_de_habilitacao = entrada.nextDouble();
System.out.println("Digite o valor do veiculo");
valor = entrada.nextDouble();

if (sexo == 1)
{
descricao = "feminino";
if (tempo_de_habilitacao < 3)
seguro = 0.07 * valor;
else
seguro = 0.05 * valor;
}

if (sexo == 2)
{
descricao = "masculino";
if (tempo_de_habilitacao < 3)
seguro = 0.08 * valor;
else
seguro = 0.06 * valor;
}


System.out.println ("Sexo " + descricao);
System.out.println ("Tempo de Habilitacao " + tempo_de_habilitacao);
System.out.println ("Valor do Veiculo " + valor);
System.out.println ("Valor do seguro " + seguro);

}
}

Postado
Eu estava sem o que fazer por aqui e resolvi corrigir teu código. Deixa eu te perguntar, você estudou antes de tentar fazer esse exercício ? Ele estava cheio de erros muito primários ... mas enfim, vamos corrigir algumas coisas que me vieram na cabeça

haha sou iniciante ainda, erros ainda vão acontecer, e muitos..

mais brigado pela as dica...

String descricao="NULL";

porque você colocou a descrição como string = null?!

nunca usei isso antes..

Postado

A string, como ela vai ser utilizada mais na frente, as vezes o IDE pede para ela ter um valor inicial, tu poderia colocar qualquer coisa no lugar de NULL ( se quisesse poderia colocar "batatinha" kkk), mas é padrão colocar NULL :D

Postado
A string, como ela vai ser utilizada mais na frente, as vezes o IDE pede para ela ter um valor inicial, tu poderia colocar qualquer coisa no lugar de NULL ( se quisesse poderia colocar "batatinha" kkk), mas é padrão colocar NULL :D

rsrsrs desculpa mais ainda to perdido kkkk

na verdade a "String" serve para que?!

e o "NULL" também, é so para atribuir a alguma coisa?!

Postado

Int é utilizado para variáveis que vão armazenar inteiros, float para armazenar números com pontos flutuantes, e assim por diante. A String é uma sequencia de caracteres, ou simplesmente um caractere. Quando o que você quer ler, escrever ou armazenar, for uma frase ou uma simples letra, tu deve usar String. Assim, o NULL é simplesmente para inicializar o String. Por exemplo:


int num=0;
double num=0;
float num=0.0;
String stg = "NULL";

Simplesmente você define um valor inicial para variável.

Postado
Int é utilizado para variáveis que vão armazenar inteiros, float para armazenar números com pontos flutuantes, e assim por diante. A String é uma sequencia de caracteres, ou simplesmente um caractere. Quando o que você quer ler, escrever ou armazenar, for uma frase ou uma simples letra, tu deve usar String. Assim, o NULL é simplesmente para inicializar o String. Por exemplo:


int num=0;
double num=0;
float num=0.0;
String stg = "NULL";

Simplesmente você define um valor inicial para variável.

Ah ta...agora sim ficou claro..

Brigadão ae pela as dicas..

  • Membro VIP
Postado
Ah ta...agora sim ficou claro..

Brigadão ae pela as dicas..

Olá Rafael Felipe.

Tudo ok então....

Como já está resolvido, vou postar uma outra versão baseada no seu código:

Obs.: Usando float, a variável indice e formatação com 2 dígitos.

[color=#ff3030]package[/color] ProgramaçãoEstruturada[color=#555555];[/color]
[color=#006633]//import java.util.Scanner; //coloquei junto a classe para demonstrar que pode ser feito de outra forma[/color]
[color=#ff3030]public class[/color] Portugolseguro [color=#555555]{[/color]
[color=#ff3030]public static[/color] [color=#f48c23]void[/color] [color=#d11ced]main[/color][color=#555555]([/color]String[color=#555555][][/color] args[color=#555555]) {[/color]

[color=#006633]//DECLARAÇÃO DAS VARIÁVEIS[/color]
[color=#f48c23]int[/color] sexo[color=#555555];[/color] [color=#006633]//sexo passa a ser int (1 e 2 não precisa de "ponto flutuante")[/color]
[color=#f48c23]float[/color] tempo_de_habilitacao[color=#555555],[/color] indice[color=#555555]=[/color][color=#32ba06]0.0[/color]f[color=#555555],[/color] valor[color=#555555],[/color] seguro[color=#555555];[/color]
String descricao [color=#555555]=[/color] [color=#1861a7]"Null"[/color][color=#555555];[/color] [color=#006633]//"descricao" passa a ser string também[/color]
java[color=#555555].[/color]util[color=#555555].[/color]Scanner entrada [color=#555555]=[/color] [color=#ff3030]new[/color] java[color=#555555].[/color]util[color=#555555].[/color][color=#d11ced]Scanner[/color][color=#555555]([/color]System[color=#555555].[/color][color=#ff3030]in[/color][color=#555555]);[/color] [color=#006633]//aqui está acessando a classe pelo caminho do pacote (não precisando do "import")[/color]

[color=#006633]//LEITURA DOS DADOS DO USUÁRIO[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color][color=#555555]([/color][color=#1861a7]"Digite o sexo [1 = Feminino ou 2 = Masculino]"[/color][color=#555555]);[/color]
sexo [color=#555555]=[/color] entrada[color=#555555].[/color][color=#d11ced]nextInt[/color][color=#555555]();[/color] [color=#006633]//passa a receber um "int"[/color]
[color=#006633]//System.out.println("Digite o tempo de habilitação");[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color][color=#555555]([/color][color=#1861a7]"Digite o tempo de habilitação (em anos)"[/color][color=#555555]);[/color]
tempo_de_habilitacao [color=#555555]=[/color] entrada[color=#555555].[/color][color=#d11ced]nextFloat[/color][color=#555555]();[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color][color=#555555]([/color][color=#1861a7]"Digite o valor do veiculo"[/color][color=#555555]);[/color]
valor [color=#555555]=[/color] entrada[color=#555555].[/color][color=#d11ced]nextFloat[/color][color=#555555]();[/color]

[color=#006633]//IDENTIFICAÇÃO DO INDICE[/color]
[color=#006633]//Obs.: Depois da condição do "if" não tem ";"[/color]
[color=#ff3030]if[/color] [color=#555555]([/color]sexo [color=#555555]==[/color] [color=#32ba06]1[/color][color=#555555]) {[/color]
descricao [color=#555555]=[/color] [color=#1861a7]"FEMININO"[/color][color=#555555];[/color]
[color=#ff3030]if[/color] [color=#555555]([/color]tempo_de_habilitacao [color=#555555]<[/color] [color=#32ba06]3[/color][color=#555555])[/color]
indice [color=#555555]= ([/color][color=#32ba06]7.0[/color]f[color=#555555]);[/color] [color=#006633]//como é float, precisa do "f"[/color]
[color=#ff3030]else[/color]
indice [color=#555555]= ([/color][color=#32ba06]5.0[/color]f[color=#555555]);[/color]
[color=#555555]}[/color] [color=#ff3030]else if[/color] [color=#555555]([/color]sexo [color=#555555]==[/color] [color=#32ba06]2[/color][color=#555555]) {[/color] [color=#006633]//esse if também precisa do else, já que está vinculado ao if (sexo=1) (são mutualmente exclusivos entre si - não podem ser os dois)[/color]
descricao [color=#555555]=[/color] [color=#1861a7]"MASCULINO"[/color][color=#555555];[/color]
[color=#ff3030]if[/color] [color=#555555]([/color]tempo_de_habilitacao [color=#555555]<[/color] [color=#32ba06]3[/color][color=#555555])[/color]
indice [color=#555555]= ([/color][color=#32ba06]8.0[/color]f[color=#555555]);[/color]
[color=#ff3030]else[/color]
indice [color=#555555]= ([/color][color=#32ba06]6.0[/color]f[color=#555555]);[/color]
[color=#555555]}[/color]

[color=#006633]//CÁLCULO DO SEGURO[/color]
seguro [color=#555555]= ([/color]valor [color=#555555]* ([/color]indice [color=#555555]/[/color] [color=#32ba06]100[/color][color=#555555]));[/color]

[color=#006633]//IMPRESSÂO DOS DADOS[/color]
java[color=#555555].[/color]text[color=#555555].[/color]DecimalFormat df [color=#555555]=[/color] [color=#ff3030]new[/color] java[color=#555555].[/color]text[color=#555555].[/color][color=#d11ced]DecimalFormat[/color][color=#555555]([/color][color=#1861a7]"0.00"[/color][color=#555555]);[/color] [color=#006633]//para imprimir com duas casas decimais[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color] [color=#555555]([/color][color=#1861a7]"Sexo"[/color] [color=#555555]+[/color] descricao[color=#555555]);[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color] [color=#555555]([/color][color=#1861a7]"Tempo de Habilitacao: R$ "[/color] [color=#555555]+[/color] df[color=#555555].[/color][color=#d11ced]format[/color][color=#555555]([/color]tempo_de_habilitacao[color=#555555]));[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color] [color=#555555]([/color][color=#1861a7]"Valor do Veiculo : R$ "[/color] [color=#555555]+[/color] df[color=#555555].[/color][color=#d11ced]format[/color][color=#555555]([/color]valor[color=#555555]));[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color] [color=#555555]([/color][color=#1861a7]"Indice : R$ "[/color] [color=#555555]+[/color] df[color=#555555].[/color][color=#d11ced]format[/color][color=#555555]([/color]indice[color=#555555]));[/color]
System[color=#555555].[/color]out[color=#555555].[/color][color=#d11ced]println[/color] [color=#555555]([/color][color=#1861a7]"Valor do seguro : R$ "[/color] [color=#555555]+[/color] df[color=#555555].[/color][color=#d11ced]format[/color][color=#555555]([/color]seguro[color=#555555]));[/color]
[color=#555555]}[/color]
[color=#555555]}[/color]

ERRATA

Veja que o índice também está em "R$", mas é óbvio que não deveria estar. Logo, basta corrigir!!! ^_^

Abraços

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!