gpt4 book ai didi

java - 线程 “main” java.util.InputMismatchException "Temperature program"中出现异常

转载 作者:行者123 更新时间:2023-12-02 06:03:38 26 4
gpt4 key购买 nike

有人可以帮忙解决这个问题吗?我可以让它运行,但在输出消息“外部温度是多少:”“此处的数字”之后

键入 (C) 表示摄氏度或 (F) 表示华氏度:

一旦我输入 C 或 F,它就会显示此错误消息

线程“main”中的异常java.util.InputMismatchException

at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at Tem.main(Tem.java:13)

请帮忙

import java.util.Scanner;

public class Tem

{

public static void main(String [] args)

{

Scanner scan = new Scanner(System.in);
String unit = "";

System.out.print("What is the outside Temperature: ");
double temp = scan.nextDouble();

System.out.println("Type (C) for Celsius or (F) for Fahrenheit: ");
int input = scan.nextInt();

if (input == 'F')
{
temp = (temp - 32) * 5/9.0;
unit = "Celsius.";
}
else if (input == 'C')
{
temp = (temp * 9/5.0) +32;
unit = "Fahrenheit.";
}

System.out.println("It is "+temp+" degrees "+unit);

}

}

最佳答案

嗯,"C""F" 不是有效的 int,所以这是 的来源输入不匹配异常。但您想要一个字母,因此您应该调用 next() 而不是 nextInt() 来获取下一个标记。

next() method将返回一个String,您可以查看它是否等于“F”“C”

关于java - 线程 “main” java.util.InputMismatchException "Temperature program"中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22463465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com