发布网友 发布时间:2022-04-24 18:43
共1个回答
热心网友 时间:2023-11-03 06:11
I. double approxAgeInDays = ageInYears * 365.25;
II. ageInHours = (int)approxAgeInDays * 24;
III. ageInMinutes = ageInHours * 60;
I. String firstInitial = firstName.subString(0,1);//注意空
II. String capsLastName = lastName.toUpperCase();
III. String name = firstInitial + ". " + capsLastName;
1、首先 double相乘 会出现精度问题,可使用下面这种方式处理
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
/2、你说的是编译错误么?还是运行时异常?
编译错误的话 II. III. 都会出现错误的 java 必须得定义类型的 比如 double d = 123.45;
运行时错误的话 ageInYears 、 firstName 为空的话都会报空指针错误追问我说的是编译错误, 那么第一组是II. III因为没有定义变量错误吗?
请问第二组是哪里有错呢?
谢谢
追答第一组是因为没有定义类型的话 ,第二组是substring s不是大写的(前提是如果firstName
、lastName都有定义的话)。
String firstName = "sssss";
String lastName ="Ssss";
String firstInitial = firstName.substring(0,1);//这样是正确的
String capsLastName = lastName.toUpperCase();
String name = firstInitial + ". " + capsLastName;