这段 java代码为什么错了

来源:百度知道 编辑:UC知道 时间:2024/07/02 23:27:30
s=1+1/2+1/3+…+1/10=2.9289682…
public class MyTest {
public static void main(String args[ ]){
int n;
double s;
s=1.0;
for(n=10;n>1;n--){
s=s+1/n;
}
System.out.println(s);
}
}
程序运行后,输出结果错误,导致程序出错的是()。

嗯,是1.0/n要不系统会默认为是整数除法,取得会是0,所以结果永远是1

public class MyTest {
public static void main(String args[ ]){
double n;
double s;
s=0;
for(n=1;n<=10;n++){
s=s+1/n;
}
System.out.println(s);
}
}

将s=s+1/n;改成s+1.0/n;

我看过了 不过没看出来
在网吧没办法帮你改
不过语法都正确
但是我不知道你指的错误是什么错误
如果是程序报了一些很奇怪的错误
那看看是不是符号出错
就是说有的符号不是在英文状态下写入的
其他三个人的全是错的
我全都试过了
开始还奇怪呢
后来发现根本就是运算符的错误
你给个完整的答案 已经编译运行过了我才拿过来的
//s=1+1/2+1/3+…+1/10=2.9289682…
public class MyTest {
public static void main(String args[ ]){
int n = 0;
//double s = 1.0;
double s = 0.0;
double t = 0.0;
for (n=1 ;n<=10 ;n++ ){
t += 1.0/n;
System.out.println(t);//测试输出;
}
System.out.println(t);//最终输出;
for(n=10;n>=1;n--){
//s = s+1/n;
s += 1.0/n ;//等同于 s = s+1.0/n;
System.out.println(s);//测试输出;
}
System.out.pr