String.Format莫名其妙的的错误

太上绝情 2012-05-29 09:35:23

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)
就是最后一行的地方。
应该可以自动转换的,昨天还能运行,今天就出问题了,真奇怪。
...全文
421 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
淡定的峰哥 2012-05-30
  • 打赏
  • 举报
回复
这个方法是从1.5开始支持的,难道你的编译器版本低于1.5
太上绝情 2012-05-30
  • 打赏
  • 举报
回复
找到原因了,用命令行javac编译可以成功,我用eclipse就失败,代码一致性已经调到了se-1.7,但是eclipse抽风了,明明代码一致性是1.7,不知道为什么编译的时候代码一致性就不是了,把代码一致性调成别的,再调回1.7就行了,有人知道为什么会这样吗?
cT_Tc 2012-05-30
  • 打赏
  • 举报
回复
确实没问题。
sffx123 2012-05-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
没有问题的啊....我可以运行的....
[/Quote]+1
阿_伦 2012-05-30
  • 打赏
  • 举报
回复
没有问题的啊....我可以运行的....

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧