精华内容
下载资源
问答
  • 创建一个java对象放到数组当中

    万次阅读 2015-04-11 17:20:50
    //下面两行代码的结果完全一样,因为lee和students[1]指向的是同一个Person实例。 lee.info(); students[1].info(); //下面输出的是zhang的信息 zhang.info(); students[0].info(); } }
    class Person
    
    {
    public int age;
    public double height;
    public void info()
    {
    System.out.println("我的年龄是:" + age + ",我的身高是:" + height);
    }
    }
    public class ReferenceArrayTest
    {
    public static void main(String[] args) 
    {
    //定义一个students数组变量,其类型是Person[]
    Person[] students;
    //执行动态初始化
    students = new Person[2];
    System.out.println("students所引用的数组的长度是:" + students.length);
    //创建一个Person实例,并将这个Person实例赋给zhang变量
    Person zhang = new Person();
    //为zhang所引用的Person对象的属性赋值
    zhang.age = 15;
    zhang.height = 158;
    //创建一个Person实例,并将这个Person实例赋给lee变量
    Person lee = new Person();
    //为lee所引用的Person对象的属性赋值
    lee.age = 16;
    lee.height = 161;
    //将zhang变量的值赋给第一个数组元素
    students[0] = zhang;
    //将lee变量的值赋给第二个数组元素
    students[1] = lee;
    //下面两行代码的结果完全一样,因为lee和students[1]指向的是同一个Person实例。
    lee.info();
    students[1].info();
    //下面输出的是zhang的信息
    zhang.info();
    students[0].info();
    }
    }
    展开全文
  • 定义一个3行4数组a

    千次阅读 2020-12-13 16:56:29
    int**a = new int*[3];//申请空间 for (int i = 0;i < 3;i++) { a[i] = new int[4]; } for (int i = 0;i < 3;i++) { for (int j = 0;j < 4;j++) { cin >> a[i][j]; } } for (int i = 0;i < 3;i++

    数组做法:

    定义数组:
    		int**a = new int*[3];
    		for (int i = 0;i < 3;i++)
    		{
    			a[i] = new int[4];
    		}
    		for (int i = 0;i < 3;i++)
    		{
    			for (int j = 0;j < 4;j++)
    			{
    				cin >> a[i][j];
    			}
    		}
    释放内存:
    		for (int i = 0;i < 3;i++)
    		{
    			delete[]a[i];
    		}
    		delete[]a;
    

    vector容器做法:

      int n = 3, m = 4;
    vector<vector<int> > a(n, vector<int>(m)); //定义二维动态数组3行4列 
    for (int i = 0; i < a.size(); i++)//输入二维动态数组 
    {
        for (int j = 0;j < a[i].size();j++)
        {
            cin >> a[i][j];
        }
    }
    
    展开全文
  • 创建一个二维数组,以44左对齐的方式将数组输出 package p1; public class Java_2{ public static void main(String[] args){ //*********Found********** int [][] aMatrix = new int[4][]; int i = 0...

    创建一个二维数组,以4行4列左对齐的方式将数组输出

    package p1;
    
    public class Java_2{
       
    	   public static void main(String[] args){
       
    	      //*********Found**********
    	      int [][]<
    展开全文
  • 用new创建多维数组时,最后需要用delete,但是我在delete时遇到了麻烦,实在不能再浪费时间了,先mark一下,至少创建多维数组这段是对的 以int型数组为例,我们知道 数组 int a[4] ={1,2,3,4}; 二维数组 int ...

    用new创建多维数组时,最后需要用delete,但是我在delete时遇到了麻烦,实在不能再浪费时间了,先mark一下,至少创建多维数组这段是对的

    以int型数组为例,我们知道

    一维数组  int a[4] ={1,2,3,4};

    二维数组  int b[3][4] = {1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4}

    三维数组  int c[2][3][4] = {1,2};


    那么用new方式如何创建呢

    一维数组有

    int *p1 = new int[4];

    二维数组有

    int (*p2)[4] = new int[3][4];


    三维数组

    int (*p3)[3][4] = new int[2][3][4];//两维三行四列


    同样的四位数组

    int (*p4)[2][3][4] = new int[1][2][3][4];//不知道怎么叫了


    忘了从哪里看到的说: 从二维数组开始,定义并不是写成  int *p2[4]、int * p3[3][4]、...这是因为int * p2[4]表示定义一个数组p2,该数组是int *型,数组内的每个元素都是指向int型的指针。

    	//step 1定义多维数组
    
    	//int *q1 = new int[4];  //创建一维数组,暂时不用
    	//int (*q2)[4] = new int[0][4];//创建二位数组,暂时不用
    	int (*p)[3][4] =  new int[2][3][4];//创建三维数组,本文研究的重点,我为了少打字,这个变量我定义成了p,并不是p3
    	//int (*p4)[3][4][5] = new int [0][3][4][5];//创建四维数组
    
    	//留个标记,用于
    	//存放这些数组的指针,用于验证是否delete时会用到
    	int *backup[24];
    	int imark = 0;
    
    	//循环将三维数组每个元素均赋值为1
    	printf("------初始化得到的二维数组----\n");
    	for(int i = 0;i< 2;i++)
    	{
    
    		for(int j = 0;j<3;j++)
    		{
    			for(int k = 0;k<4;k++)
    			{
    				printf("%d --->",(*(*(p+i)+j)+k));//初始化之前均为0
    				printf("%d ",*(*(*(p+i)+j)+k));//这里打印了new出来的三维数组,本层循环最后将每个值赋值成了1
    
    
    				backup[imark++] = (*(*(p+i)+j)+k);
    				*(*(*(p+i)+j)+k) = 1;//这里将每个元素赋值成了1,为的是方便后面delete时对比查看
    
    			}
    			printf("\n");
    		}
    
    	}
    
    	printf("---------------------\n");//
    
    	//step 2 准备检验
    
    	//前辈说书中讲的,数组的大小在之前的四个字节内存储着,究竟是啥呢,在这里可以打印查看printf("front 4 byte is %d, -->%d\n",&p[0][0][0]-1,(int)*(&p[0][0][0]-1));printf("p[0][0][0] address is %d\n",&p[0][0][0]);printf("p[1][2][3] address is %d\n",&p[1][2][3]);printf("\n");//这里尝试了好多种delete的方式都没有成功???╮(╯▽╰)╭
    	//第一种尝试,直接删除p数组,这个似乎从原理上很容易否定
    	/*
    	delete []p;//这种方式发现只删除了new出来的前两个元素
    
    	*/
    
    	//第二种尝试,借用一下保存的指针,用指针一个一个去free
    	/*
    	for(int i =0;i<24;i++)
    	{
    	delete backup[i];//用backup中记忆的位置一个一个删除,发现行不通,&backup[i]也行不通
    	//delete []backup;//这种也是行不通的,我注解上了,可以试试
    	}
    
    	*/
    
    	//第三种尝试,嵌套进入生成的数组,一层一层的去free,然而依然失败,不知道是重复删除了,还是怎么了,感觉是重复删除了
    	for(int i = 0;i<2;i++)
    	{
    		for(int j = 0;j<3;j++)
    		{
    			delete [] p[i][j];
    		}
    	delete []p[i];
    	}
    
    
    	//第四种尝试,一个一个删,但依然没有成功,我从大到小,先小到大均试了一次,依然失败,下面写的是从大到小
    	/*
    	delete p[1][2][3];//不要搞混乱,2*3*4维数组最大值就是这个
    	delete p[1][2][3];//不列写了,因为占篇幅,可以肯定的是没成功
    	//...
    	delete p[0][0][0];
    	*/
    
    
    	//这里面检查是否已经delete了
    	for (int i = 0; i < 24; i++) {
    		if ((i != 0) && (i % 4 == 0))
    		{
    			printf("\n");
    		}
    		printf("[%d]%d--->%d ", i, backup[i], (int) *backup[i]);
    	}
    	printf("\n");
    	return 0;
    


    我目前gdb方式还不会看,另外delete还学得不够深入,再钻进去周末别的也就看不成了,所以得先记下。


    另外粘一个别人new三维数组的方法

    int*** a= new int**[5];
    for (int i = 0; i < 5; ++i)
    {
         a[i] = new int*[6];
         for (int j = 0; j < 6; ++j)
        {
                a[i][j] = new int[7];
         }
    }
    for (int i = 0; i < 5; ++i)
    {
         for (int j = 0; j < 6; ++j)
         {
               delete[] a[i][j];
         }
         delete[] a[i];
    }
    delete[] a;


    就先到这里吧



    展开全文
  • 说明:文章所有内容均截选自用户“huhuhang”发布在实验楼上...Numpy 是支持 Python 语言的数值计算扩充库,其拥有强大的高维度数组处理与矩阵运算能力。除此之外,Numpy 还内建了大量的函数,方便你快速构建数学模...
  • package atm; public class Erwei { public static void main(String[] args) { int[][] a = new int[2][]; ...//动态创建一个两行两列的数组 } for(int j=0;j for(int k=0;k
  • LabVIEW创建一数组

    2021-01-19 23:05:41
    一维数组是基本的数组,多维数组是在一维数组的基础上创建的。一维数组创建过程如下。  (1)创建数组框架。在前面板窗口控件选板中选择控件“新式→数组、矩阵与簇→数组,置于...如图3所示即为创建一个数值型控件
  • 功能要求:定义一个两行三列的二维数组 names 并赋值,使用二重循环输出二维数组中的元素 names={{"tom","jack","mike"},{"zhangsan","lisi","wangwu"}}; 运行结果效果: 代码: public class lianxi13 { ...
  • 我正在尝试创建一个可以根据一个数字动态更改的2D数组/列表,所以说我输入数字3,它会像这样创建一个二维数组,有三行三列。输入10将创建一个包含10和10数组等。array = [[0, 0, 0][0, 0, 0][0, 0, 0]]我已经...
  • 这是一个3*4的二维数组,及三行数组,所以我们先要给数组去赋值,此时我们可以写一个赋值函数myscanf去给数组一一赋值 代码如下: 这里用到了个for循环,i表示的是,j表示的是 当i=0时,依次给第一赋值,i=1时...
  • 我们用数组解决问题,一个数组变量可以存放多个数据。好比一个团,团里有很多人,如下我们使用数组存储5个学生成绩。 image.png 数组一个值的集合,每个值都有一个索引号,从0开始,每...
  • 在 MATLAB 中,向量和矩阵主要是由数组表示的。数组运算始终是 MATLAB 的核心内容,并且 MATLAB 区别于...矩阵和向量的概念矩阵其实就是由 m×n 个元素组成的一个 m n 的二维数组。特别地,一个 m×1(m 1 ...
  • 一个二维数组行元素互换,存到另一个二维数组中。 //将二维数组行互换,存到另一个二维数组中 public static void CTL(int[,] arr1) { //执行换行 int[,] arr2 = new int[3,3]; for (int i = 0; i ...
  • C语言多维数组教程一般我们使用最多的就是二维数组,很少用到数组,更多维的数组几乎更用不到。C语言二维数组详解定义C 语言的二维数组,就是数组的...说明我们定义了一个二维数组 arrName,该数组拥有 row c...
  • 题目:输入一个3行4数组,找出该数组中绝对值最大的元素、输出该元素及其个下标值。如有多个输出行号最小的,还有多个的话输出号最小的。 C代码 #include<stdio.h> int main() { int array[3][4]; ...
  • NumPy总结(一):创建一个NumPy数组

    千次阅读 2020-08-21 12:49:36
    本节为NumPy的第一部分,主要讲解NumPy的主要功能及基本特性,最重要的是如何创建一个简单的NumPy数组
  • labview程序可以将数组变成多维数组,且由一列一行变成多行
  • 创建包含N空对象的数组

    千次阅读 2019-01-21 01:17:00
    有些场景, 在对对象数组处理时, 设置对象属性前判断对象是否存在. 与其这样, 还不如直接初始化为空对象数组. 本文主要涉及到一些容易忽略的知识点: Array.prototype.fill() 的使用. 简单类型和复杂类型赋值/复制、...
  • 一维数组是最基本的数组,多维数组是在一维数组的基础上创建的。一维数组创建过程如下。  (1)创建数组框架。在前面板窗口控件选板中选择控件“新式→数组、矩阵与簇→数组,置于...如图3所示即为创建一个数值型控
  • package tag;... * 创建一个二维数组(4*3),实现该数组的行列转置,输出。 * 运行结果: * 转置前:1 2 3 * 4 5 6 * 7 8 9 * 10 11 12 * */ public class Test5 { public static void main(Str
  • 编写一个程序,创建两个包含8个元素的double类型数组,使用循环提示用户为第一个数组输入8 个值。第二个数组元素的值设置为第一个数组对应元素的累积之和。例如,第二个数组的第 4个元素的值是第一个数组前4个元素之...
  • 一个2行3列的矩阵(二维数组)行列互换,存储到另一个3行2的矩阵中。要求以整型数据为例来解答。 输入 输入2数据,每行3个整数,以空格分隔。 输出 行列互换后的矩阵,3行,每2个数据,以空格分隔。 样例...
  • 两个for循环 赋值各个数组元素。
  • //随机产生一个3行4数组 取值范围在10--50  int array[3][4] = {0};   for (int i = 0; i 3; i++) {   for (int j = 0; j 4; j++) {  array[i][j] = arc4random()%(50-10+1)+10;  }  
  • numpy创建三数组

    千次阅读 2020-06-19 09:58:46
    w1 = np.array( [a,b,c] ) # 多个一数组一行一行堆叠 print(w1) # 结果: [[1 2 3] [4 5 6] [7 8 9]] 2、创建三数组 两个二维数组的堆叠形成数组。 a.(2,3,3) import numpy as np a = [1, 2, 3] ; b...
  • demo.py(数组的垂直拼接,水平拼接): # coding=utf-8 import numpy as np t1 = np.arange(12).reshape((3,4)) t2 = np.arange(12, 24).reshape((3,4)) print(t1) ''' [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]]...
  • 合并数组两数组一个对象 //合并数组两数组一个对象,arr1中元素为属性名,arr2为属性值; let res_name = arr1; let res_data = arr2; //arr1,arr2数组长度相同 let user_data={}; console.log(res_name) ...
  • 需要创建一个新的数组,新数组长度是数组长度之和。然后再将数组的内容导入到新数组中。下面具体看看实现代码: public static void main(String[] args) { // 个待合并数组 int array1[] = { 20, 10, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 446,833
精华内容 178,733
关键字:

创建一个两行三列的数组