用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 fluent的在模拟压强时使用希望得到一些建议
- ¥15 STM32驱动继电器
- ¥15 Windows server update services
- ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
- ¥15 模糊pid与pid仿真结果几乎一样
- ¥15 java的GUI的运用
- ¥15 Web.config连不上数据库
- ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
- ¥15 怎么配置广告联盟瀑布流
- ¥15 Rstudio 保存代码闪退