请问以下 Java 语言哪些出现错误?

发布网友 发布时间: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;

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com