Programlamada yeniyim, bu yüzden önceden özür dilerim. Bir program çalıştırıyorum ve Java'da System.out.printf
yöntemiyle ilgili bir sorun yaşıyorum. Programdaki diğer her şeyin doğru çalıştığını biliyorum (test ettim). Ancak bu işe yaramıyor.Java'da System.out.printf komutuyla ilgili sorun
hatadır: dizisindeki
"ana" java.util.IllegalFormatConversionException: d = java.util.Formatter $ FormatSpecifier.failConversion (Bilinmeyen Kaynak) de java.lang.Double
! java.util.Formatter $ FormatSpecifier.printInteger (Bilinmeyen Kaynak) de
java.util.Formatter $ FormatSpecifier.print (Bilinmeyen Kaynak) java.util.Formatter.format de
(Bilinmeyen Kaynak) de
java de
Bilinmeyen .io.PrintStream.format (Kaynak) java.io.PrintStream.printf (Bilinmeyen Kaynak) Advisor_Score.main de
(Advisor_Score.java:17) de
Benim kodudur: Gerçekten emin niçin
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]);
}
}
}
çalışmıyor.
'daki formatting string syntax'a bakın. '% D' çift için değil, 'double' harfi harfiyle başlar. : D – HyperNeutrino
@JamesSmith Sanırım; [onluk] (http://stackoverflow.com/q/13409014/309308), onaltılık için% x' yerine, sekizlik için ise% 'nin yerine kullanılır. C ayrıca,% d için bir "tamsayı" eşanlamlılığı kullanmanıza izin verir, ancak Java'nın –