1、数组参考答案一、【必做题】1 编写一个简单程序,要求数组长度为5,分别赋值10,20,30,40,50,在控制台输出该数组的值。/*例5-1 *数组使用范例 */public class ArrayDemo public static void main(String args) int buffer=new int5; buffer0=10; buffer1=20; buffer2=30; buffer3=40; buffer4=50; for(int i=0;i5;i+) System.out.println(bufferi); 2 输出一个double型二维数组(长度分别为5、4,值自己
2、设定)的值。/*例5-3 *多维数组范例 */public class ArrayTwoDimension public static void main(String args) double buffer=new double54; for(int i=0;ibuffer.length;i+) for(int j=0;jbuffer0.length;j+) System.out.print(bufferij); System.out.println(); 3将一个字符数组的值(neusofteducation)考贝到另一个字符数组中。public class ArrayCopyDemo p
3、ublic static void main(String args) /定义源字符数组 char copyFrom = n, e, u, s, o, f, t, e, d, u, c, a, t, i, o, n; char copyTo = new char7; System.arraycopy(copyFrom, 2, copyTo, 0, 7); System.out.println(new String(copyTo); 4 给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。public class ArraySortDemo /* *
4、 param args */ public static void main(String args) / TODO Auto-generated method stub int point = 1,6,2,3,9,4,5,7,8; java.util.Arrays.sort( point ); for(int i=0;ipoint.length;i+) System.out.println(pointi); 5 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下标。public class Arraymax /* * param args */ pu
5、blic static void main(String args) int a = 18,25,7,36,13,2,89,63; int max = a0; int maxIndex = 0; for(int i=1;ia.length;i+) if(max=ai) max = ai; maxIndex = i; System.out.println(最大值为:+max+ 最大值下标为:+maxIndex); 6、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。import java.util.Scanner;public class Arrayinsert /* *
6、param args */ public static void main(String args) /定义 int a = 1,2,4,8,16,32,64,128,256,512,0 ; Scanner s = new Scanner(System.in); a11 = s.nextInt(); java.util.Arrays.sort( a ); for(int i=0;ia.length;i+) System.out.println(ai); 7输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。package com.neusoft.javaTest;import
7、 java.util.*;public class Answer public static void main(String args) int i, min, max, n, temp1, temp2; int a; System.out.println(输入数组的长度:); Scanner keyboard = new Scanner(System.in); n = keyboard.nextInt(); a = new intn; for (i = 0; i n; i+) System.out.print(输入第 + (i + 1) + 个数据); ai = keyboard.next
8、Int(); /以上是输入整个数组 max = 0; min = 0; /设置两个标志,开始都指向第一个数 for (i = 1; i amax) max = i; /遍历数组,如果大于amax,就把他的数组下标赋给max if (ai amin) min = i; /同上,如果小于amin,就把他的数组下标赋给min /以上for循环找到最大值和最小值,max是最大值的下标,min是最小值的下标 temp1 = a0; temp2 = amin; /这两个temp只是为了在交换时使用 a0 = amax; amax = temp1; /首先交换a0和最大值amax if (min != 0)
9、 /如果最小值不是a0,执行下面 amin = an - 1; an - 1 = temp2; /交换amin和an-1 else /如果最小值是a0,执行下面 amax = an - 1; an - 1 = temp1; for (i = 0; i n; i+) /输出数组 System.out.print(ai + ); 8 将一个数组中的元素逆序存放public class Answer public static void main(String args) Scanner s = new Scanner(System.in); int a = new int20; System.ou
10、t.println(请输入多个正整数(输入-1表示结束):); int i=0,j; do ai=s.nextInt(); i+; while (ai-1!=-1); System.out.println(你输入的数组为:); for( j=0; j=0; j=j-1) System.out.print(aj+ ); 9. 将一个数组中的重复元素保留一个其他的清零。public class Answer public static void main(String args) int a = 1, 2, 2, 3, 4, 5, 6, 4, 7 ,2 ,10; for (int i = 0;i
11、a.length - 1;i +) for (int j = i + 1;j a.length;j +) if (ai = aj) aj = 0; 10、写一个方法,功能:定义一个一维的int 数组,长度为3,把任意三个整数a,b,c赋值给数组,然后将它们按从小到大的顺序输出(使用冒泡排序)public static void sort(int data) / 数组长度 int len = data.length; int temp = data0; / 临时变量 for (int i = 0; i i; j-) / 如果dataj小于dataj - 1,交换 if (dataj dataj-
12、1) temp = dataj; dataj = dataj-1; dataj-1 = temp; / 数组打印 public static void print(int data) for(int i=0;idata.length;i+) System.out.print(datai+ ); System.out.print(n); 11、给定一维数组 -10,2,3,246,-100,0,5 ,计算出数组中的平均值、最大值、最小值。 int a = new int -10,23,246,-100,0,5; int max = a0; int min = a0; int add = a0; for(int i =1;ia.length;i+) if(aimax) max = ai; add = add+ai; System.out.pr
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1