Java

3 respostas Resolvido
Makoto_Otani
Estou a tentar fazer um programa para a escola em que é pedida a conversão de uma temperatura de uma escala para outra e usei scanners para pedir a escala da temperatura dada e da que pretende receber e para pedir o valor da temperatura.

Ao correr o programa depois de inserir as escalas e o valor da temperatura  me este erro:

Exception in thread main java.lang.NumberFormatException: For input string: K

at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)

at java.base/jdk.internal.math.FloatingDecimal.parseDouble(FloatingDecimal.java:110)

at java.base/java.lang.Double.parseDouble(Double.java:549)

at Exercicio3.main(Exercicio3.java:16)

<div class="lightbox-wrapper"><a class="lightbox" href="/uploads/3X/4/1/41d7acbb121c29c94ec3d71a8c4fec8f57b3f7cb.png.webp" data-download-href="/uploads/default/41d7acbb121c29c94ec3d71a8c4fec8f57b3f7cb" title="Erro.PNG"><img src="/uploads/3X/4/1/41d7acbb121c29c94ec3d71a8c4fec8f57b3f7cb.png.webp" alt="Erro" data-base62-sha1="9ot7e2ysXDlKJxsoM9X9v9AtGDV" width="381" height="500" srcset="/uploads/3X/4/1/41d7acbb121c29c94ec3d71a8c4fec8f57b3f7cb.png.webp, /uploads/3X/4/1/41d7acbb121c29c94ec3d71a8c4fec8f57b3f7cb.png.webp 1.5x, /uploads/3X/4/1/41d7acbb121c29c94ec3d71a8c4fec8f57b3f7cb.png.webp 2x" data-small-upload="/uploads/3X/4/1/41d7acbb121c29c94ec3d71a8c4fec8f57b3f7cb.png.webp"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use xlink:href="#far-image"></use></svg>Erro.PNG694×909 104 KB<svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use xlink:href="#discourse-expand"></use></svg>
</div></a></div>

3 Respostas

pmlm
Solucao aceita

Não coloques imagens quando quiseres mostrar código. Assim não dá para fazer copy/paste.

Em relação ao teu problema, deves criar apenas uma instância de Scanner e ler dela tudo o que precisas.

Scanner entrada = new Scanner(System.in);
System.out.println("Introduza a escala de temperatura (K/C/F): ");
// Considera dar nomes mais intuitivos a variáveis. x, y, z não ajudam a perceber o código
String escalaOrigem = entrada.nextLine(); // usa sempre nextLine para ler do teclado
System.out.println("Escala para que pretende converter: ");
String escalaDestino = entrada.nextLine();
System.out.println("Valor de temperatura: ");
String temperatura = entrada.nextLine();
Makoto_Otani

Muito obrigado e peço desculpa por não ter facilitado a ajuda. É a primeira vez que uso o website e pergunto algo. Da próxima vez copiarei e colarei o código para que dê para fazer copy paste.
Mudei os nomes das variáveis como disse e o código já funciona. Obrigado!

staroski

No meu Github tenho um exemplo.

Criado 12 de outubro de 2021
Ultima resposta 12 de out. de 2021
Respostas 3
Participantes 3