raw recruit 2018-12-18 20:24 采纳率: 66.7%
浏览 797
已采纳

一个Java中的赋值问题

用java做算法时中间写了
public double calculate( int[] p, int num)
{

double [][] a = new double[num][num+1];
a[0][1]=p[0]/100;
a[0][0]=1-p[0]/100;
......................
}
这段,但是System.out.println(a[0][1])和System.out.println(a[0][0])时都输出了0.0,值没有赋进去。
但是写成
public double calculate( int[] p, int num)
{

double [][] a = new double[num][num+1];
a[0][1]=p[0];
a[0][0]=100-p[0];
a[0][1]=a[0][1]/100;
a[0][0]=a[0][0]/100;
......................
}
时就成功赋值进去了,请问这是为什么呀?

  • 写回答

2条回答

  • 阿进的写字台 2018-12-18 15:50
    关注

    第一个函数, 你右边的都是int类型啊, 计算出来的值都是 int, 那就是0啊

    更改

            a[0][1]=p[0]/100.00;
            a[0][0]=1-p[0]/100.00;
    

    100改成 100.00 之后就是 double 类型,, int/double 会向上转型成 double/double。。从而获得一个 double

    请采纳


    10:12编辑

    很不爽, 回答被人说是抄袭。。说三点
    1. 没有给出任何提示, 没有跟我沟通就删除答案
    2. 删除之前请调一下后台记录, 我进入该答案进行回答的时候还没有任何的答案!!
    3. 我使用编译器验证了一遍, 导致出答案的时间有点久。回答完之后发现了上面的答案(我记得是晚了4分钟)。。我发现答案相似度很高, 所以我又编辑了一遍, 以遍更加详细。

    不明白为什么这样子, 也没法@管理员。。但是被人以这样的形式说抄袭和投了反对票还是非常不爽的!

    我投诉之后, 给我又把答案恢复了:时间 09:51(不是我自己改的)
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 9月18日

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题