java array 问题
时间:2013-11-17
来源:互联网
下面系条件 用one-dimensional array
Array name: dblScore
~Data type: double
~ Size: 10 elements
~ Values: un-initialized
我咁样写
public class Lab5 {
public static void main(String[] args) {
double[] array = new double [10];
System.out.println("Index/dblScore");
for( int i=0; i<array.length; i++)
System.out.println(i + "\t" + array );
}
}
但系output出
Index/dblScore
0 0.0
1 0.0
2 0.0
3 0.0
4 0.0
5 0.0
6 0.0
7 0.0
8 0.0
9 0.0
咁样咪唔符合Values: un-initialized
Array name: dblScore
~Data type: double
~ Size: 10 elements
~ Values: un-initialized
我咁样写
public class Lab5 {
public static void main(String[] args) {
double[] array = new double [10];
System.out.println("Index/dblScore");
for( int i=0; i<array.length; i++)
System.out.println(i + "\t" + array );
}
}
但系output出
Index/dblScore
0 0.0
1 0.0
2 0.0
3 0.0
4 0.0
5 0.0
6 0.0
7 0.0
8 0.0
9 0.0
咁样咪唔符合Values: un-initialized
作者: yob664 发布时间: 2013-11-17
汪汪没有学过Java
只能用C++的知识回答
大概是因为new double [10]本身会做initialize
在标准C++中...new operator除了分配memory外..同时会做initialize
double数值的应该自动填0
不过一般在C++中...也未必会真的去做initialize
不过楼主系问Java
这都会是自动做了initialize
只能用C++的知识回答
大概是因为new double [10]本身会做initialize
在标准C++中...new operator除了分配memory外..同时会做initialize
double数值的应该自动填0
不过一般在C++中...也未必会真的去做initialize
不过楼主系问Java
这都会是自动做了initialize
作者: Susan﹏汪汪 发布时间: 2013-11-17
引用:原帖由 Susan﹏汪汪 於 2013-10-19 01:00 AM 发表
在标准C++中...new operator除了分配memory外..同时会做initialize
double数值的应该自动填0
在标准C++中...new operator除了分配memory外..同时会做initialize
double数值的应该自动填0
C++ 唔会喺 new double[x] 自动做初始。要初始要写成:new double[x]()。如果 new 嘅系一个类,咁就会呼叫相关建构式,如果无提供,好似 new Class,就会呼叫 Class 嘅预设建构式。
作者: fitcat 发布时间: 2013-11-17
引用:原帖由 fitcat 於 2013-10-19 12:52 PM 发表
C++ 唔会喺 new double[x] 自动做初始。要初始要写成:new double[x]()。如果 new 嘅系一个类,咁就会呼叫相关建构式,如果无提供,好似 new Class,就会呼叫 Class 嘅预设建构式。
不清楚C++ 唔会喺 new double[x] 自动做初始。要初始要写成:new double[x]()。如果 new 嘅系一个类,咁就会呼叫相关建构式,如果无提供,好似 new Class,就会呼叫 Class 嘅预设建构式。
之前睇过好似话标准new运算符系会填0
但实作就是厂家问题
ideone系出0
VC++是没初始化的数字
[ 本帖最后由 Susan﹏汪汪 於 2013-10-19 03:48 PM 使用 编辑 ]
作者: Susan﹏汪汪 发布时间: 2013-11-17
引用:原帖由 Susan﹏汪汪 於 2013-10-19 03:15 PM 发表
不清楚
之前睇过好似话标准new运算符系会填0
但实作就是厂家问题
ideone系出0
VC++是没初始化的数字
ideone 出 0 系因为当时记忆体内容咁啱系 0。不清楚
之前睇过好似话标准new运算符系会填0
但实作就是厂家问题
ideone系出0
VC++是没初始化的数字
你试下以下程式就知道:
复制内容到剪贴板代码:#include <cstdio>
int main() {
int *p = new int[10];
for (int i = 0; i < 10; ++i)
p[i] = i;
delete p;
p = new int[10];
for (int i = 0; i < 10; ++i)
printf("%d\n", p[i]);
}
int main() {
int *p = new int[10];
for (int i = 0; i < 10; ++i)
p[i] = i;
delete p;
p = new int[10];
for (int i = 0; i < 10; ++i)
printf("%d\n", p[i]);
}
作者: fitcat 发布时间: 2013-11-17
引用:原帖由 fitcat 於 2013-10-19 11:24 PM 发表
ideone 出 0 系因为当时记忆体内容咁啱系 0。
你试下以下程式就知道:#include
int main() {
int *p = new int[10];
for (int i = 0; i < 10; ++i)
p = i;
delete p;
p = new int[10];
for ...
知道了 ideone 出 0 系因为当时记忆体内容咁啱系 0。
你试下以下程式就知道:#include
int main() {
int *p = new int[10];
for (int i = 0; i < 10; ++i)
p = i;
delete p;
p = new int[10];
for ...
作者: Susan﹏汪汪 发布时间: 2013-11-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28