JAVA的简单问题(Eclips的使用)
一个超简单的程序1!+3!+5!+……+99!publicclasswsj3{staticdoublejiecheng(intx){inti;doublefact=1;f...
一个超简单的程序
1!+3!+5!+……+99!
public class wsj3{
static double jiecheng(int x){
int i;
double fact=1;
for(i=1;i<=x;i++){
fact=fact*i;
}
return (fact);
}
public static void main(String args[]){
int i;
double s=0;
for(i=1;i<=99;i=i+2){
s=s+jiecheng(i);
}
System.out.printf("%lf",s);
}
}
用Eclips运行总是
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = 'l'
at java.util.Formatter$FormatSpecifier.conversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at wsj3.main(wsj3.java:19)
恳请高手替我解惑。。。。
我怀疑程序没错,是Eclips的使用问题(调试所有有函数的程序都有类似错误,我直接按绿色的三角运行的) 展开
1!+3!+5!+……+99!
public class wsj3{
static double jiecheng(int x){
int i;
double fact=1;
for(i=1;i<=x;i++){
fact=fact*i;
}
return (fact);
}
public static void main(String args[]){
int i;
double s=0;
for(i=1;i<=99;i=i+2){
s=s+jiecheng(i);
}
System.out.printf("%lf",s);
}
}
用Eclips运行总是
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = 'l'
at java.util.Formatter$FormatSpecifier.conversion(Unknown Source)
at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at wsj3.main(wsj3.java:19)
恳请高手替我解惑。。。。
我怀疑程序没错,是Eclips的使用问题(调试所有有函数的程序都有类似错误,我直接按绿色的三角运行的) 展开
5个回答
展开全部
System.out.printf("%f",s);
没有l标志。double类型也是用f,此外还有e,表示指数浮点数,如1.59e+01。
用于printf的标志如下:
+ 打印正数和负数的符号
空格 在正数之前添加空格
0 数字前面补0
- 左对齐
( 将负数扩在括号内
, 添加分组分隔符
#(对于f格式) 包含小数点
#(对于x或0格式) 添加前缀0x或0
此外还有$和<就不再说明了。
如果你想指定打印精度可以用:
(%x.yf)或(%xf)或(%.yf)
x表示字符宽度,y表示小数点后的精度。
没有l标志。double类型也是用f,此外还有e,表示指数浮点数,如1.59e+01。
用于printf的标志如下:
+ 打印正数和负数的符号
空格 在正数之前添加空格
0 数字前面补0
- 左对齐
( 将负数扩在括号内
, 添加分组分隔符
#(对于f格式) 包含小数点
#(对于x或0格式) 添加前缀0x或0
此外还有$和<就不再说明了。
如果你想指定打印精度可以用:
(%x.yf)或(%xf)或(%.yf)
x表示字符宽度,y表示小数点后的精度。
展开全部
public class UnknownFormatConversionExceptionextends IllegalFormatException给定未知的转换时所抛出的未经检查的异常。
除非另行指定,否则将 null 参数传递给此类中的任何方法或构造方法都会抛出 NullPointerException。
System.out.printf("%lf",s); 不应该是printf(); 应该写成print() (注意没有最后一个字母 f ),Java中的控制台输出方法有print()/ println(); 直接换成print()就行了 ,不用什么格式化的 ,因为print()什么格式的都能输出的。 呵呵 不要遇到问题就逃避哦 要勇敢的面对哦 那样才能不断进步啊
除非另行指定,否则将 null 参数传递给此类中的任何方法或构造方法都会抛出 NullPointerException。
System.out.printf("%lf",s); 不应该是printf(); 应该写成print() (注意没有最后一个字母 f ),Java中的控制台输出方法有print()/ println(); 直接换成print()就行了 ,不用什么格式化的 ,因为print()什么格式的都能输出的。 呵呵 不要遇到问题就逃避哦 要勇敢的面对哦 那样才能不断进步啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
f前面的l是什么东西。你的格式化输出错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这就是Eclips的问题,你目前用的是Eclips自带的JDK,你要换成你自己本地安装的JDK就好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询