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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 qwe8234118 于 2013-3-28 16:28 编辑
  1.         public static float pingjun(int [] shuzu)//这个函数:pingjun,是用来求数组中元素的和。
  2.         {
  3.                 float z=shuzu[0];
  4.                 for (int x=1;x<shuzu.length ;x++ )
  5.                 {
  6.                                 z+=shuzu[x];
  7.                 }
  8.                 z=z/(shuzu.length+1);
  9.                 return z;
  10.         }
复制代码
做了一个函数 能算出数组中元素的平均值
数组为
  1. int [] shuzu = new int [] {3,1,4,2,7,5};
复制代码
  1.                 float x = pingjun(shuzu);        
  2.                 System.out.println("数组中元素的平均值是:"+x);
复制代码
用double结果太长,改用float结果也有小数点后六位,要求进行四舍五入后只保留任意位数。
即1.23456789
等于1.235
不是单纯的把后几位去掉,求解

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-28 14:36

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

3 个回复

倒序浏览
格式化输出
首先导入两个包
import java.math.BigDecimal;
import java.text.DecimalFormat;

System.out.println(new DecimalFormat(".0000").format(double));


DecimalFormat 确定小数位数   format  要格式化的 数据

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
可以用printf();的java 有些东西是从C语言那个地方拿过来的,效果和Format一样的。printf("%.xf",f); x 保留几位小,f要保留的数

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
/*
        将float类型的数转换成Int类型的整数,然后对各位进行判断,做四舍五入操作
*/

// 主函数
class Tes       
{
        public static void main(String[] args)
        {
                float f = 3.1462f;
                T(f);
        }

        // 转换方法 传入一个float类型的变量 f
        public static void T(float f)
        {
                // 如果取后两位,那么将f * 1000 就等于 int 类型的 3146
                int i = (int)(f*1000);
                // 然后 i % 10 取最后一位个位数的值
                System.out.println(i%10);

                // 如果大于五,i加10,再将 i 减去个位数,转换回float类型
                if(i%10>=5)
                {
                        i+=10;
                        f = (i - i%10)/1000f;
                }
                //小于五,不做操作,直接减去个位,再转换回float类型
                else
                {
                        f = (i - i%10)/1000f;
                }
                // 输出f   
                System.out.println(f);

                // 结果为 3.15
        }
}

java中应该有这一类的函数可以调用,但是小的不才,学的不深, 只能先自己写一个这样的方法了,不过还是建议看看JDK中有没有此类的方法,嘿嘿……

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马