gpt4 book ai didi

java - Java 中 System.out.printf 命令的问题

转载 作者:IT老高 更新时间:2023-10-28 21:07:02 28 4
gpt4 key购买 nike

我是编程新手,所以我提前道歉。我正在运行一个程序,但遇到了 Java 中的 System.out.printf 方法的问题。我知道程序中的其他所有内容都正常工作(经过测试)。但是,这似乎不起作用。

错误是:

Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.Double
at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.printInteger(Unknown Source)
at java.util.Formatter$FormatSpecifier.print(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at Advisor_Score.main(Advisor_Score.java:17)

我的代码是:

import java.lang.Math;
public class Advisor_Score {
public static void main(String[] args){
double l[] = {101,1,1,1};
double k[] = {102,2,2,4};
double m[] = {103,5,5,5,5,5,5,5};
double All_users[][]={l,k,m};
double sum[]=new double [All_users.length];
double [] raw_advisor=new double [All_users.length];
double []advisor_score= new double [All_users.length];
for (int i=0;i<All_users.length;i++){
for(int j=1;j<All_users[i].length;j++){
sum[i]+=All_users[i][j];
}
raw_advisor[i]=((sum[i]-(3*(All_users[i].length-1)))/4);
advisor_score[i]= 2.5+(2.5*(1-Math.pow(Math.E, -.5*raw_advisor[i])));
System.out.printf("%d: %d\n", All_users[i][0], advisor_score[i]);
}
}
}

不确定为什么它不起作用。

最佳答案

%d 代表一个整数;您想将 %f 用于 double 。见 formatting string syntax在 Javadoc 中

关于java - Java 中 System.out.printf 命令的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3693079/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com