Estou iniciando com os estudos em java e meu professor passou um exercício. Fiz todos os códigos mas tem uma parte do final que não sei como fazer ainda, que seria exibir o número com 3 casas decimais. alguém poderia ajudar?
“Mostre o valor com três casas decimais após o ponto.”`
Meu método usado:
{
Scanner ler = new Scanner(System.in);
double tempoGasto, vm, distanciaPercorrida, automovel, litros;
automovel = 12;
System.out.print("Informe o tempo gasto na viagem (em horas): ");
tempoGasto = ler.nextDouble();
System.out.print("Informe a velocidade média durante a viagem em km/h: ");
vm = ler.nextDouble();
distanciaPercorrida = vm / tempoGasto;
litros = automovel / distanciaPercorrida;
System.out.println("A distância percorrida foi de: " + distanciaPercorrida + " Km");
System.out.println("Quantidade de litros necessária: " + litros + "l.");
}
Como eu falei, sou iniciante. Meu professor não falou desta função de colocar casas decimais. Você poderia me indicar algum artigo ou livro com essas teorias? Pois estou querendo aprender como e o porque se usa e não apenas copiar o código e usar.
Vi que você usou a vírgula em vez do “+” para imprimir a informação, e também juntou o “km” e “l” ao usar o %.3f
Ahh, e existe alguma diferença entre “printf” e “String.format”?
observando aqui as suas duvidas não são exatamente de teoria, mas de sintaxe. se vc não entende a diferença entre + e , vc precisa prestar atenção entre o que é uma concatenação de strings ( via operador + ) e o que é chamar uma função com diferentes argumentos ( que é a função da virgula ).
existe sim uma teoria por traz, mas aqui podemos simplificar para: vc quer fazer matematica com os tipos padrão de java e usar o que o ponto flutuante pode fazer (e suas limitações). ao final vc quer adaptar o resultado para algo com x casas decimais apenas para impressão ( saida ). nesse caso um simples formatador resolve.
Boa tarde, não querendo me intrometer, também sou novo, e vejo que tanto você, quanto o @peczenyj, indicaram a documentação oficial, para aprender mais sobre a sintaxe, porém por ser em inglês, (EU) que não manjo muito, não consigo ler, então acabo precisando “traduzir”, tem algum site, ou algo do tipo, com a documentação em português?
Recomendo se habituar a ler inglês, é difícil encontrar bom material em português, geralmente acabam sendo bastante resumidos.
"Ah mas eu não manjo muito de inglês"
Bom, o negócio é começar a fazer um esforço para ir manjando o quanto antes.
Vou te recomendar o que funcionou comigo:
Arranja um dicionário inglês-português, um impresso mesmo, desses comprados em livraria.
Vai te ajudar a memorizar melhor as palavras, se você usa sites de tradução, você não fixa o aprendizado, mas ter que folear o dicionário de papel é chato e trabalhoso, então o teu inconsciente vai te forçar a memorizar mais rápido as palavras pra não ter que folear no dicionário o tempo todo.
a primeira linguagem que vc deveria investir é ingles.
traduzir quebra um galho, mas pode confundir demais, ainda mais que alguns termos são especificos ( thread e kernel viram umas coisas bizarras por exemplo ).
se vc tem receio de ler, eu sugiro vc comprar um dicionario e vai ler como se a sua vida dependesse disso.
Obrigado pelas dicas @staroski e @peczenyj, sei que é de suma importancia o ingles, mas no momento, não consigo me “dedicar” tanto o quanto deveria para isso, mas sei que para se aprender a programar, é necessário saber o inglês, mais uma vez, muito obrigado
Vai por mim, arranja um dicionário e deixa junto da sua mesa de trabalho.
Todos temos nossas dificuldades, se tiver ruim de grana arranja em algum sebo, ou pega emprestado.
Leu uma palavra que não conhece, consulta, anota o significado e vai pra frente.