云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > java经典基础练习题及参考答案

java经典基础练习题及参考答案

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 21:31:05

1. 写一个函数,计算一个整数数组的平均值

import java.util.Random;

public class javaSevenDayLianXi {

public static void main(String[] args) { int arr[] = new int[10];

Random score = new Random(); float sum = 0.0f;

System.out.print(\这组数为:\);

for (int i = 0; i < arr.length; i++) { arr[i] = score.nextInt(101); sum += arr[i];

System.out.print(arr[i] + \); }

System.out.println();

System.out.println(\数组arr的平均值为:\ + sum / arr.length); } }

2. 自定义一个整数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标;如果 不存在,则输出-1。

Scanner sca = new Scanner(System.in); int []a = {0,1,2,3,4,5,6,7,8,9}; System.out.print(\请输入一个数:\); int shuJu = sca.nextInt(); boolean bool = true;

for(int i=0;i

if(a[i]==shuJu){

System.out.println(shuJu+\在数组a中的下标为:\+i); bool = false; break; } }

if(bool)

System.out.println(-1);

3. 给定一个数组,输出数组中的最大值和最小值

int []a = {12,34,563,2,45,778,554,4421,4456,6786}; Arrays.sort(a); int min=a[0];

int max=a[a.length-1];

System.out.println(\数组中最小的数为:\+min+\,最大的数为:\+max);

4. *给定一个数组,把这个数组中所有元素顺序进行颠倒。

import java.util.Random;

public class javaSevenDayLianXi {

}

public static void main(String[] args) { int arr[] = new int[10]; int shu=0;

Random score = new Random();

System.out.print(\颠倒前的arr组数值为:\); for (int i = 0; i < arr.length; i++) { arr[i] = score.nextInt(101); System.out.print(arr[i] + \); }

for(int i=0;i<=(arr.length-1)/2;i++){ shu=arr[i];

arr[i]=arr[arr.length-1-i]; arr[arr.length-1-i]=shu; }

System.out.println();

System.out.print(\颠倒后的arr数组值为:\); for(int i :arr)

System.out.print(i+\); }

5. *数组的扩容。

给定一个数组,要求写一个expand 函数,把原有数组的长度扩容一倍,并保留原有数 组原有的内容。

例如,给定一个数组int[] a = {1,2,3},则扩容之后,a 数组为:{1,2,3,0,0,0}

public class javaNineDay {

public static void main(String[] args) { int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8 }; arr = setArrays(arr); for (int term : arr)

System.out.print(term + \); }

public static int[] setArrays(int[] arr) { int[] arrays = new int[arr.length * 2];

System.arraycopy(arr, 0, arrays, 0, arr.length); return arrays; } }

6. *数组的插入和删除

写两个函数,一个函数为delete 函数,声明如下: public static void delete(int pos)

该函数表示删除数组pos 位置上的元素。 第二个函数为insert 函数,声明如下: public static void insert(int pos, int value)

该函数表示在数组pos 位置上插入value 值。

为了能在多个函数中使用同一个数组,需要把这个数组写在函数的外面,类的里面,并 使用static 修饰。

为了方便,还应该定义一个index 变量,用来保存数组的有效元素的个数。 例如下面的代码:

public class TestInsertDelete{

static int[] a = {1,3,2,5,7}; //多个函数可以直接操作该数组 static int index = 5;

public static void main(String args[]){ delete(2); //1 3 5 7 insert(1, 4); //1 4 3 5 7 insert(0, 6); //6 1 4 3 5 7 }

public static void delete(int pos){ … }

public static void insert(int pos, int value){

… } }

实现方式:

1. delete 方法:把数组pos 位后的所有元素向前移动1 位

2. insert 方法:把数组pos 位以及之后的元素向后移动1 位,然后设置value。 要注意的是,insert 时有可能需要数组扩容。

有效元素的个数的含义:对于a 数组,调用一次delete 之后,a 数组的长度不变, 长度依然为5,然而有效元素的个数为4 个。 Tips:

insert 方法中,如何判断是否需要扩容:比较有效元素的个数和数组的长度,如果这 两者一致,则需要扩容。

public class javaNineDay {

static int[] arr = { 1, 2, 3, 4, 2, 5, 6, 7, 2, 8, 9 }; static int index = arr.length;

public static void main(String[] args) { System.out.print(\初始数组为:\); for(int term:arr)

System.out.print(term+\);

System.out.print(\删除2后的数组为:\+\); delete(2);

System.out.print(\插入100后的数组为:\+\); insert(5, 100); }

public static void delete(int pos) { int num = index;

for (int i = 0; i < index; i++) {

}

}

if (arr[i] == pos && i < index - 1) {

System.arraycopy(arr, i + 1, arr, i, index - 1 - i); arr[--num] = 0;

} else if (arr[i] == pos && i == index - 1) { arr[--num] = 0; } }

index = num;

for (int term : arr) { if (term > 0) {

System.out.print(term + \); } }

public static void insert(int pos, int value) { int arrays[];

if (index == arr.length) {

arrays = new int[index + 1];

System.arraycopy(arr, 0, arrays, 0, index); } else

arrays = arr;

System.arraycopy(arrays, pos, arrays, pos + 1, index - pos); arrays[pos] = value; index++;

for (int term : arrays) { if (term > 0) {

System.out.print(term + \); } } }

7. *完成数组的冒泡排序算法:给定一个数组:int[] a = {1,3,2,7,5},利用冒泡排序对其按照 从小到大的顺序排序,然后输出结果。

public class javaSevenDayLianXi {

public static void main(String[] args) { int[] arr = { 1, 3, 2, 7, 5 }; int term = 0;

for (int i = 0; i < arr.length - 1; i++) { for (int j = i + 1; j < arr.length; j++) { if (arr[i] > arr[j]) { term = arr[j]; arr[j] = arr[i];

搜索更多关于: java经典基础练习题及参考答案 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

1. 写一个函数,计算一个整数数组的平均值 import java.util.Random; public class javaSevenDayLianXi { public static void main(String[] args) { int arr[] = new int[10]; Random score = new Random(); float sum = 0.0f; System.out.print(\这组数为:\); for (int i = 0; i < arr.length; i++) { arr[i] = score.nextInt(101); sum += arr[i]; System.out.print

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com