黑马程序员技术交流社区

标题: 帮我看看程序哪里出问题了?求指点一下 [打印本页]

作者: 官珺伟    时间: 2013-12-30 21:49
标题: 帮我看看程序哪里出问题了?求指点一下
本帖最后由 官珺伟 于 2013-12-31 07:55 编辑
  1. public class Test2
  2. {
  3.         //2、 编写程序计算1 2+2 2+3 2+....+100 2的和.  (1的平方加到100的平方的和)
  4.         int sum=0;
  5.         for (int x=1;x<=100 ;x++ )
  6.         {
  7.                 x=x*x;
  8.                 sum=+x;
  9.                 System.out.println(sum);
  10.         }
  11.         

  12. }
复制代码
编写程序计算1 2+2 2+3 2+....+100 2的和.  (1的平方加到100的平方的和)

作者: doitforyou    时间: 2013-12-30 22:06
其实是一个细心的问题,x即作为循环变量又作为参与计算的变量,
在运算中x每次得到的都是他的平方,所以不是按照你设想的循环变量一次加1来进行
你另外定义一个变量参与运算就好了。
作者: 松毛    时间: 2013-12-30 22:16
你都没有写main函数啊!!
  1. public class Test01
  2. {
  3.         //2、 编写程序计算1 2+2 2+3 2+....+100 2的和.  (1的平方加到100的平方的和)
  4.         public static void main(String[] args){
  5.                 int sum = 0;
  6.         for (int x=1;x<=11 ;x++ )
  7.         {
  8.                 sum+=x*x;
  9.         }
  10.         System.out.println(sum);
  11.         }
  12. }
复制代码

作者: 董月峰    时间: 2013-12-30 22:21
public class Test3 {
        public static void main(String[] args)
        {
                int sum=0;
                for(int i=1;i<101;i++)
                {
                        int x=(int)Math.pow(i,2);
                        sum=sum+x;
                }
                System.out.println("1^2+2^2+3^2+....+100^2的和是:"+sum);
        }
}
楼主没定义主函数,还有教给你个指数的算法吧int x=(int)Math.pow(i,2);i的2次方的整形;之前我也做了这个题目,啊哈
作者: 布鲁Go    时间: 2013-12-30 22:54
本帖最后由 布鲁Go 于 2013-12-30 23:00 编辑

恩,主要是楼主没有定义主函数。。。呵呵。。。然后,是sum+=x   不是你那里写的sum=+x;  哈哈,编程有很多细节要注意啊,我刚开始自学也是这样,犯很多小错误。。加油。。。。。不过,你这个是基础测试题吧,是不是不方便跑来这里问啊?感觉最好还是自己解决啊。。。。这里的仅供参考。。
  1. class Test2
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int sum1=sumSquare(1,100);//调用下面的累加函数;
  6.                 System.out.println(sum1);
  7.         }
  8.         public static int sumSquare(int i,int j)
  9.         {
  10.                 int sum=0;//定义一个计算器sum用来累加1开始的平方值;
  11.                 for(int x=i;x<=j;x++)
  12.                 {
  13.                         sum+=x*x;//把i到j的平方值不断累加赋值给sum;
  14.                 }
  15.                 return sum;               
  16.         }
  17. }
复制代码

作者: jibenwujie    时间: 2013-12-30 22:58
你的逻辑可能出了点问题,
错误的原因在于你的x=x*x,x的平方又使用x来接收,如果是累加平方的话

sum+ = x*x就能解决你的计算
作者: 骄傲的倔强    时间: 2013-12-31 11:18
没有主函数,而且sum=+x属于语法错误,应该是sum+=x;





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2