繁体   English   中英

将堆栈转换为双

[英]casting a Stack as a double

好的,这是我遇到的代码行:

double endNumber = (double)numbers.pop();
return endNumber;

我的问题是我需要将堆栈中弹出的数字加倍,但是我不断收到错误消息:

线程“主”中的异常java.lang.ClassCastException:无法将java.lang.String强制转换为java.lang.Double

反正有解决这个问题的方法吗?

您的pop()方法返回String ,并且您必须将其解析为double

double endNumber = Double.parseDouble(numbers.pop());
return Double.parseDouble(numbers.pop());

您需要将从堆栈中弹出的项目转换为double:

double endNumber = Double.parseDouble(numbers.pop());
return endNumber;

您将必须使用Double.parseDouble(argument)

double endNumber = Double.parseDouble(numbers.pop());

或者您可以直接返回而无需使用任何double变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM