java定义一个int数组(java定义int类型数组)

http://www.itjxue.com  2023-01-29 18:50  来源:未知  点击次数: 

java怎么重新定义int数组长度?

在Java中,数组对象Array的长度是在实例化时就定死了,不能修改。

像你这种情况,一般是新建一个数组,重新设置长度,可能的话再将老数组里的值拷贝进去:

public class ArrayTest {

public static void main(String[] args) {

int[] arr1 = { 1, 2, 3, 4, 5 }; // 初始化一个数组,长度是5(定死了)

int[] arr2 = new int[10];// 重新初始化数组,长度是10;

// 将老数组复制到新数组

for (int i = 0; i arr1.length; i++) {

arr2[i] = arr1[i];

}

// 将老数组对象arr1指向新数组

arr1 = arr2;

// 如果不要复制,最简单的就是直接实例化

int[] arr1_1 = new int[5];// 初始化一个数组,长度是5(定死了)

arr1_1 = new int[10]; // 再实例化一次,就是一个新数组,以前数组里的东西就不存在类

}

}

java定义一个整型数组并初始化,将数组中的最大值与最小值进行交换,并最后将数组输出出来

Java创建int数组,将最大值与最小值位置交换输出,代码以及截图如下:

import?java.util.Arrays;

public?class?Demo?{

public?static?void?main(String[]?args)?{

int[]?num?=?new?int[]?{?2,?1,?3,?4,?5?};

int[]?temp?=?new?int[num.length];//临时数组?创建是为了重新排序比较大小时不影响原数组顺序

for?(int?i?=?0;?i??num.length;?i++)?{

temp[i]?=?num[i];

}

Arrays.sort(temp);//升序排序

int?min?=?temp[0];//最小值

int?max?=?temp[temp.length?-?1];//最大值

for?(int?i?:?num)?{

????//逻辑判断,如果是最小值,输出最大值,否则,相反。

if?(i?==?min)?{

System.out.println(max);

}?else?if?(i?==?max)?{

System.out.println(min);

}?else?{

System.out.println(i);

}

}

}

}

运行示例:

java,定义一个长度是5的int数组,通过动态赋值求奇数的和,偶数的积?

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

int[] array = new int[5];

Scanner scanner = new Scanner(System.in);

System.out.println("请输入五个数字");

for(int i=0;iarray.length;i++) {

array[i] = scanner.nextInt();

}

int singleSum = 0;

int doubleSum = 0;

for(int i=0;iarray.length;i++) {

if(array[i]%2 == 0) {

doubleSum += array[i];

}

else if(array[i]%2 == 1) {

singleSum += array[i];

}

}

System.out.println("奇数和是:" + singleSum);

System.out.println("偶数和是:" + doubleSum);

}

}

用java定义一个包含5个元素的int数组,并且初始化都为0,从键盘接收五个整

参考代码

import?java.util.Arrays;

import?java.util.Scanner;

public?class?ArryDemo?{

public?static?void?main(String[]?args)?{

//一:初始化数组

int[]?ary?=?new?int[5];//定义数组,并初始化,默认值就是0

// int?moren?=?0;//,这里可以修改为1,2等其他数

// for?(int?i?=?0;?i??ary.length;?i++)?{

// ary[i]?=?moren;//全部赋为moren

// }

System.out.println("初始化的数组:"+Arrays.toString(ary));

//二:输入数组的元素

Scanner?sc?=?new?Scanner(System.in);

for?(int?i?=?0;?i??ary.length;?i++)?{

System.out.println("请输入数组的第"?+?(i?+?1)?+?"个元素");

ary[i]?=?Integer.parseInt(sc.nextLine().trim());//读取键盘输入的数据,并转化为数字

}

System.out.println("赋值完的数组"+Arrays.toString(ary));

//三:颠倒数组的顺序

for?(int?begin?=?0,?end?=?ary.length?-?1;?begin??end;?begin++,?end--)?{

int?temp?=?ary[begin];

ary[begin]?=?ary;

ary?=?temp;

}

System.out.println("倒序后的数组"+Arrays.toString(ary));

sc.close();

}

}

测试

初始化的数组:[0,?0,?0,?0,?0]

请输入数组的第1个元素

2

请输入数组的第2个元素

3

请输入数组的第3个元素

5

请输入数组的第4个元素

6

请输入数组的第5个元素

8

赋值完的数组[2,?3,?5,?6,?8]

倒序后的数组[8,?6,?5,?3,?2]

JAVA定义一个int类型的一维数组,输出最大值的下标与最小值下标之和

#include "stdio.h"

int main()

{

int x[100],max,min,i,n;

printf("输入整数个数:");

scanf("%d",n);

printf("输入一组正整数:");

scanf("%d",x[0]);

max=0;min=0;

for(i=1;in;i++)

{

scanf("%d",x[i]);

if(x[max]x[i]) max=i;

if(x[min]x[i]) min=i;

}

printf("最大值是%d,下标(从0开始)%d\n最小值是%d,下标(从0开始)%d\n",x[max],max,x[min],min);

}

(责任编辑:IT教学网)

更多

推荐PHP+MySQL视频文章