**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
12小时前关门了。
改进这个问题
我是java的初学者。我试着用下面的程序在eclipseide中练习bigdecimal。它没有显示编译错误,但当我运行它时,它显示的错误如下:
共享.java
import java.math.BigDecimal;
public class Share {
private int no_of_shares;
private int currentprice;
private BigDecimal buyingprice ;
private BigDecimal sellingprice;
//constructor -
public Share(int no_of_shares, String buyingprice, String sellingprice){
this.no_of_shares = no_of_shares;
this.buyingprice = new BigDecimal(buyingprice);
this.sellingprice = new BigDecimal(sellingprice);
}
//method for calculating profit-
public BigDecimal profit() {
if(sellingprice.compareTo(buyingprice) ==1){
BigDecimal temp = new BigDecimal("(sellingprice.subtract(buyingprice)");
return temp.multiply((sellingprice.subtract(buyingprice)));
}
else {
return BigDecimal.valueOf(0) ;
}
}
以及主要的阶级分享者
public class Sharer {
public static void main(String[] args) {
// TODO Auto-generated method stub
Share tesla = new Share(5, "23.456456", "27.25335");
System.out.println(tesla.profit());
}
}
当我将其作为java应用程序运行时,会出现以下错误:
Exception in thread "main" java.lang.NumberFormatException: Character array is missing "e" notation exponential mark.
at java.base/java.math.BigDecimal.<init>(BigDecimal.java:578)
at java.base/java.math.BigDecimal.<init>(BigDecimal.java:402)
at java.base/java.math.BigDecimal.<init>(BigDecimal.java:835)
at com.oops.Share.profit(Share.java:55)
at com.oops.sharer.main(sharer.java:8)
暂无答案!
目前还没有任何答案,快来回答吧!