当前位置:编程学习 > JAVA >>

请大家看看这个程序的错误是什么意思

public class Test7 {
public static void main(String args[]) {
int sum = 0;
int result = 0;
for(int i = 1;i <= 10;i++){

sum = sum + !i;
}
System.out.println("sum=" + sum);
}
}

这个程序编译时出错,提示:
一无运算"‘!’的操作类型int错误。这个是什么意思,应当怎么改正? --------------------编程问答-------------------- java中的“!”是取反的意思,但是不能用于操作数字,i是int型,所以“!i”是不符合语法的,所以报错。

至于怎么改,就要看楼主想让这句语句执行什么操作了。是把sum+i的值赋给sum吗? --------------------编程问答-------------------- public class Test7 {
public static void main(String args[]) {
int sum = 0;
int result = 0;
for(int i = 1;i <= 10;i++){

sum = sum + i;//去掉!
}
System.out.println("sum=" + sum);
}
}

求 1~10的和 --------------------编程问答-------------------- 补充一下:求 1!+2!+3。。。。。!+10
public class Test7 {
public static void main(String args[]) {
int sum = 0;
int result = 0;
for(int i = 1;i <= 10;i++){

sum = sum + !i;
}
System.out.println("sum=" + sum);
}
}

这个程序编译时出错,提示:
一无运算"‘!’的操作类型int错误。这个是什么意思,应当怎么改正? --------------------编程问答-------------------- 用递归 --------------------编程问答-------------------- "!" 是逻辑运算符,后面是要接boolean 型的。i是int型的 int 不能转成 boolean型的。
只能按1楼的,把“!i”改成"i".就行了。 --------------------编程问答-------------------- 这个程序的写法是什么,能写出来吗
--------------------编程问答--------------------
public class Test7 {
public static int jiecheng(int n){

  int sum = 1 ;
for (int i = 1; i<= n; i++){
sum *= i ;
}

return sum ;
}

public static void main(String args[]) {
int sum = 0;
int result = 0;
for(int i = 1;i <= 10;i++){

sum += jiecheng(i) ;
}

System.out.println("sum=" + sum);
}
}
--------------------编程问答-------------------- sum=4037913 --------------------编程问答-------------------- 抱歉,每看见你要求阶乘的累加和。
可以加一方法,把sum=sum+!i 改成 sum=sum+fact(i);

int fact(int m)
{
      if(m<=1)
      {
         return 1;
      }
      else
      {
         return m*fact(m-1);
      }
} --------------------编程问答-------------------- 把帖子给结了吧,结贴率 0.00% ,不好看 --------------------编程问答--------------------

package ptu4;

public class Test1 {
public static void main(String[] args) {
// 求1!+2!+++30!的和,用方法完成。(阶乘)

double a = 易做图(30);
System.out.print(a);

}

public static double 易做图(int x) {
double n =1; double num = 0;
for (int i = 1; i <= x; i++) {

n = n * i;
num=num+n;

}return num;
// int sum=0;
// sum=sum+(sum-1);zhen真坑爹!!

}

}
 我数太大了用double了  你可以用int 10 可以装下的。  --------------------编程问答-------------------- double 可以装下任何数字的 。 long 和int 都有一定的限制。  --------------------编程问答-------------------- 经鉴定+目测,楼主绝对是个“一流”的新手,sum = sum + !i  //这是个什么写法,真是奇葩,
没有贬低的意思啦,大家都是新手,但是我觉得这是最基本的东西,楼主应该先经过自己的思考再求助他人,这个代码这么短,一行一行看也看得出来问题,更何况问题这么明显。~ ~
PS:7楼的代码是较简洁完整的。楼主可以参考下。 --------------------编程问答--------------------
引用 7 楼 cai5 的回复:
Java code
public class Test7 {
public static int jiecheng(int n){

  int sum = 1 ;
    for (int i = 1; i<= n; i++){
        sum *= i ;
    }
    
    return sum ;
}

public static void main(String a……

这是正解,根本没有楼主那种语法。在一般编程中!表示的是“非”的意思。(与、或、非的非)。建议楼主把基础打好 --------------------编程问答-------------------- 我是自学JAVA的新手,刚学,请各位前辈多多指教, --------------------编程问答-------------------- 我准备在培训机构里学,不知道哪个比较好一点,我去过北大青鸟,北京好几个北大青鸟,我不知道哪个青鸟的教学好一点,

现在还在犹豫中。。。,所以先自学一下 --------------------编程问答-------------------- 北大青鸟好像比较牛,反正广告比较多。但是要自学的话,强烈建议参考《郝斌java视频》。我是看完整个视频才推荐的,不是吹的,作为基础入门,没人能比得上郝斌老师讲得好,真的,他非常能站在初学者的角度讲解,看了就想一口气把它看完的冲动,看完后我甚至把他出品的c,数据结构,数据库都下载收藏了,c也看的差不多了,感觉比java讲得还好,真的非常佩服和感谢他无私的奉献,因此,只要是初学者,想自学,我都会推荐他的视频。我觉得,只要你认真看完了这些视频,你都完全可以不用去什么培训机构了。 --------------------编程问答-------------------- 太强大了,都看不懂啊
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,