不兼容类型:字符串不能转换为双

问题描述:

String LOA, LWL, Beam, Displacement, SailArea; 
LOA = stdin.readLine(); //(LOA) Total Length of Vessel 
System.out.println("LOA: " + (LOA)); 
System.out.println("HullSpeed: " + (1.34 * Math.pow(LWL, 0.5))); 

我可以获得帮助吗?我是新来的Java,并不知道如何解决这个错误与最后一个LWL。
不兼容的类型:字符串不能转换为double不兼容类型:字符串不能转换为双

+0

什么是'LWL'的价值? –

+0

有没有办法使用while或for循环? –

如果LWLString代表一个Double,试图解析通过Double使用Double.parseDouble

Double LWLDouble = Double.parseDouble(LWL); 
System.out.println("HullSpeed: " + (1.34 * Math.pow(LWLDouble, 0.5))); 

这是合理的,你不能用一个数学运算在String

见你的这部分代码,

System.out.println("HullSpeed: " + (1.34 * Math.pow(LWL, 0.5))); 

这里,全方位学习是Math.pow()String类型并不需要String争论它需要一个double

在Java中 here

更多类型和here