用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;
......................
}
时就成功赋值进去了,请问这是为什么呀?
一个Java中的赋值问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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(不是我自己改的)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
- ¥15 关于#hadoop#的问题