gpt4 book ai didi

java - 不兼容类型双字符串

转载 作者:行者123 更新时间:2023-12-01 17:30:24 24 4
gpt4 key购买 nike

为什么购买是 scan.next() 不兼容的类型?(我试图获取用户输入的购买和投标信息,然后使用一种方法来计算变化)。

public static void makeChange() //one method of a class
{
double purchase;
double tendered;

Scanner scan = new Scanner (System.in);

System.out.println ("How much was the Purchase?");
purchase = scan.next(); //why would this be an incompatible type?
System.out.println ("Amount Tendered");
tendered = scan.next();

System.out.println("Processing Transaction");
int ch[] = cd.makeChange(purchase, tendered);

.... continued

最佳答案

因为scanner.next()返回 javadoc 中描述的字符串。当一个方法没有做你认为应该做的事情时,这是第一个要检查的地方。您可能想使用scanner.nextDouble()

正如评论中所指出的,如果您的代码不仅仅是一个练习,您应该使用 BigDecimal 来表示货币金额,以避免舍入问题( double 不精确)。

关于java - 不兼容类型双字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11626048/

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