import java.util.Scanner;
public class h2048 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
long []a=new long[21];
long []n=new long[21];
a[1]=0;
a[2]=1;
a[3]=2;
int i;
double f;
for(i=4; i<=20; i++)
{
a[i]=(i-1)*(a[i-1]+a[i-2]);
}
n[0]=1;
for(i=1; i<=20; i++)
{
n[i]=n[i-1]*i;
}
int t,c;
Scanner cin=new Scanner(System.in);
c=cin.nextInt();
while(c!=0)
{
c--;
t=cin.nextInt();
f=a[t]/(double)n[t]*100;
System.out.println(String.format("%.2f", f)+"%");
}
}
}
编译时说
Exception in thread "main" java.lang.Error: 无法解析的编译问题:
类型 String 中的方法 format(String, Object[])对于参数(String, double)不适用
at h2048.main(h2048.java:33)
就是最后一行的地方。
应该可以自动转换的,昨天还能运行,今天就出问题了,真奇怪。
5 个解决方案
#1
没有问题的啊....我可以运行的....
#2
+1
#3
确实没问题。
#4
找到原因了,用命令行javac编译可以成功,我用eclipse就失败,代码一致性已经调到了se-1.7,但是eclipse抽风了,明明代码一致性是1.7,不知道为什么编译的时候代码一致性就不是了,把代码一致性调成别的,再调回1.7就行了,有人知道为什么会这样吗?
#5
这个方法是从1.5开始支持的,难道你的编译器版本低于1.5
#1
没有问题的啊....我可以运行的....
#2
+1
#3
确实没问题。
#4
找到原因了,用命令行javac编译可以成功,我用eclipse就失败,代码一致性已经调到了se-1.7,但是eclipse抽风了,明明代码一致性是1.7,不知道为什么编译的时候代码一致性就不是了,把代码一致性调成别的,再调回1.7就行了,有人知道为什么会这样吗?
#5
这个方法是从1.5开始支持的,难道你的编译器版本低于1.5