下午好,
我是一名学生,我想知道我是否了解此代码的工作原理。 我认为程序至少接受两个必须为整数的参数,执行后将返回一个新字符串。如果这些参数的总和的值为“ 0”,则由于参数数量无效,它将显示此消息,因为未采取任何措施。 但是,如果参数的数字与“ 0”不同,则“ parseDouble”方法将返回第一个参数(参数0)的值的两倍,并且可以通过“ for”循环找到以下参数的总数。 接下来,“ parseDouble”方法再次查找循环中计算出的总参数的两倍,并且运算符“ * =”将此值乘以第一个参数的两倍。 使用'Math.pow'方法,将第一个参数的值提高为第二个参数的幂。在这种情况下,请将第一个参数加倍以将总参数除以1.0。 (我不知道'str.append(result +“ \ n”);'是什么意思!)! 如果您尝试写一个单词,该程序将检测到它并再次返回错误消息,因为仅接受整数。 最终,最终结果将被打印为控制台上唯一可见的结果。 是这样吗?
public static void main(String[] args){
double result = 0;
int i= 0, length = args.length;
StringBuilder str = new StringBuilder();
if(length==0){
System.err.println("Number of arguments is not correct! \nWrite: java Ex1 <double>+");
}else{
try {
result = Double.parseDouble(args[0]);
for (i = 1; i < length; i++) {
result *= Double.parseDouble(args[i]);
}
result = Math.pow(result, 1.0 / length);
str.append(result+"\n");
} catch (NumberFormatException e) {
System.err.println("Argument <<" + args[i] + ">> must be a double!");
System.exit(1);
}
System.out.print(str.toString());
}
}
}```