A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cdw999888 中级黑马   /  2016-8-23 16:01  /  935 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

各位大神请帮助!

C:\Users\Administrator\Desktop

这个在最后出来的结果是43,为什么结果运算下来不是120呢?我哪里有问题呢?
各位前辈请指教!!

14 个回复

倒序浏览
本帖最后由 cdw999888 于 2016-8-23 16:07 编辑

/*
题干:将1~5的这5个数相乘,得出相乘的积。
思路:一、1~5这5个数是变化的不确定的他们相乘以后的积也是不确定的。
      所以定义两个变量。
      二、因为这5个数要不断的增加而必须在1<=&5=>这个区域,所以用
      while循环。
*/
public class da
{
            public static void main(String[]args)
    {       int x=1;
            int a=0;
            while(x<=5)
         {          x++;
                    a=x*(x+1);
                    a++;
         }
                        System.out.print("a="+a);
    }
}

回复 使用道具 举报
a++是a自增的意思,应该是 a += a;
回复 使用道具 举报
没必要,方法语句写成
int a= 1;
int x =1;
while(x <= 5 ) {
a *= x;
x++;
}
回复 使用道具 举报
题干要求写5的阶乘,我是不知道你这思路和代码写的是啥
[Java] 纯文本查看 复制代码
public static void main(String[] args) {
		int n=5;
		int product = 1;
		while(true){
			product*=n--;
			if(n==1){
				System.out.println(product);
				break;
			}
		}
	}
回复 使用道具 举报 1 0
楼主把变量分清每个是干啥的,a是记录结果的,x是控制循环执行的
回复 使用道具 举报
没看懂
回复 使用道具 举报
看不见代码呀……什么情况
回复 使用道具 举报
没看清哪个是你的题
回复 使用道具 举报
这个题简单  没有看到题   就说一下思路  
回复 使用道具 举报
你写的是哪个
回复 使用道具 举报
一个for循环就搞定了,不需要这么麻烦
回复 使用道具 举报
翻了才知道楼主的题在下面,一个变量用来接收相乘的结果, 一个用来定义从那个数开始就可以了, 你的a用来接收结果的,不需要在加1的。
回复 使用道具 举报
class  Demo_12{
        public static void main(String [] args){
     int [] arr = {1,2,3,4,5,};
     int s = getProduct(arr);
         System.out.println(s);
        }
        public static int getProduct(int [] a){
           int product = 1;
           for (int i =0; i<a.length; i++){
        product= product*a[i];
           }
           return product;
        }
}
回复 使用道具 举报
多看看书就好哦了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马