




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 写一个函数,计算一个整数数组的平均值import java.util.Random;public class javaSevenDayLianXi public static void main(String args) int arr = new int10;Random score = new Random();float sum = 0.0f;System.out.print(这组数为:);for (int i = 0; i arr.length; i+) arri = score.nextInt(101);sum += arri;System.out.print(arri + );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;ia.length;i+)if(ai=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=a0;int max=aa.length-1;System.out.println(数组中最小的数为:+min+,最大的数为:+max);4. *给定一个数组,把这个数组中所有元素顺序进行颠倒。import java.util.Random;public class javaSevenDayLianXi public static void main(String args) int arr = new int10;int shu=0;Random score = new Random();System.out.print(颠倒前的arr组数值为:);for (int i = 0; i arr.length; i+) arri = score.nextInt(101);System.out.print(arri + );for(int i=0;i=(arr.length-1)/2;i+)shu=arri;arri=arrarr.length-1-i;arrarr.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,0public 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 intarr.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 TestInsertDeletestatic int a = 1,3,2,5,7; /多个函数可以直接操作该数组static int index = 5;public static void main(String args)delete(2); /1 3 5 7insert(1, 4); /1 4 3 5 7insert(0, 6); /6 1 4 3 5 7public 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(n删除2后的数组为:+ );delete(2);System.out.print(n插入100后的数组为:+ );insert(5, 100);public static void delete(int pos) int num = index;for (int i = 0; i index; i+) if (arri = pos & i 0) System.out.print(term + );public static void insert(int pos, int value) int arrays;if (index = arr.length) arrays = new intindex + 1;System.arraycopy(arr, 0, arrays, 0, index); elsearrays = arr;System.arraycopy(arrays, pos, arrays, pos + 1, index - pos);arrayspos = 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 arrj) term = arrj;arrj = arri;arri = term;System.out.print(按冒泡排序后的结果为:);for (int i : arr)System.out.print(i + );8. *使用第二种算法对数组进行排序import java.util.Arrays;public class javaSevenDayLianXi public static void main(String args) int arr = 1, 3, 2, 7, 5 ;Arrays.sort(arr);System.out.print(用第二种方法给数组排序后的结果为:);for (int i : arr)System.out.print(i + );杨辉三角的特点:1. 第i 行有i 个元素2. 每一行的第一个元素和最后一个元素都为13. 除了1 之外,每个元素的值,都等于上一行同位置的元素以及前一个元素的和。例如:1 4 6 4 1 的下一行1 a1 a2 a3 a4 1a1 = 4 + 1 = 5a2 = 6 + 4 = 10a3 = 4 + 6 = 10a4 = 1 + 4 = 5依次类推。要求:读入一个整数n,输出杨辉三角的前n 行import java.util.Scanner;public class javaSevenDayLianXi public static void main(String args) Scanner sca = new Scanner(System.in);System.out.print(请输入杨辉三角的行数:);int row = sca.nextInt();int arr = getArrays(row);for (int a : arr) for (int term : a)System.out.print(term 0 ? term : ) + );System.out.println();public static int getArrays(int row) int arr = new introwrow;for (int i = 0; i arr.length; i+) arri0 = 1;arrii = 1;for (int i = 1; i arr.length; i+) for (int j = 1; j = 1000 & shu = 9999) result = shu;do arr0 = result / 1000;arr1 = result / 100 % 10;arr2 = result / 10 % 10;arr3 = result % 10;if (arr0 = arr1 & arr1 = arr2& arr2 = arr3) System.out.print(请重新输入一个四位数:);bool = false;biaoShi=1;break; elsebiaoShi = 0;max = setResult(arr, 0);min = setResult(arr, 1);result = max - min;count+; while (result != 6174);if (bool)System.out.println(shu + 运行了 + count + 次后,结果变为6174。);elsebiaoShi=0;/ 计算最大值,最小值public static int setResult(int shu, int biaoshi) int result = 0, j;Arrays.sort(shu);if (biaoshi = 0) j = 0;for (int i : shu) result += (int) (i * Math.pow(10, j);/ 获取最大值j+;if (biaoshi = 1) j = 3;for (int i : shu) result += (int) (i * Math.pow(10, j);/ 获取最小值j-;return result;10. *筛选法求质数:输入一个整数n,求小于这个整数的所有质数。算法:定义一个长度为n 的boolean 数组,true 表示是质数,false 表示不是质数。初始均为true。之后从2 开始循环:1. 找到第一个值为true 的下标i2. 把所有下标为i 的倍数的值置为false。直到扫描完数组中的所有数值。最后遍历数组,如果下标i 的值为true,则说明i 为质数。import java.util.Scanner;public class javaSevenDayLianXi public static void main(String args) Scanner sca = new Scanner(System.in);System.out.print(请输入一个大于2的整数:);int n = sca.nextInt();int count = 0;boolean bool = new booleann;if (true) bool2 = true;for (int i = 3; i n; i+) if (i % 2 = 0)booli = false;elsebooli = true;for (int i = 3; i = n / 2; i+) for (int j = i; j n; j += 2) if (j % i = 0 & j != i)boolj = false;System.out.print(小于 + n + 的所有质数为:);for (boolean lean : bool) if (lean)System.out.print(count + );count+; elseSystem.out.println(输入的数不大于2!);11. *定义一个奇数阶二维数组,把每个元素顺序填入不同的自然数,要求行列和对角线元素相加的结果相等算法:1. 第一个数字填在第一行正中间2. 如果可以填在斜上方,则数字尽量填在斜上方3. 如果斜上方出了上边界,则数字填入下一列最下端4. 如果斜上方出了右边界,则数字填入上一行最左端5. 如果既出了右边界,又出了上边界,则数字填入上一个数字的下方的6. 如果斜上方已经被填过,则数字填入上一个数字的下方。要求:读入一个奇数n,按照上述规则,输出n*n 的方阵。import java.util.Scanner;public class javaEightDayLianXi public static void main(String args) Scanner sca = new Scanner(System.in);int num, count = 0;int rowSub = 0, listSub = 0;while (true) System.out.print(请输入一个奇数:);num = sca.nextInt();if (num % 2 != 0)break;int arr = new intnumnum;listSub = num / 2;while (count num * num) count+;arrrowSublistSub = count;if (rowSub = 0 & listSub 0 & listSub 0 & listSub = num - 1) rowSub-;listSub = 0; else if (rowSub 0 & listSub num - 1& arrrowSub - 1listSub + 1 != 0) rowSub+; else if (rowSub = 0 & listSub = num - 1) rowSub+;for (int score : arr) for (int term : score)System.out.print(term + t);System.out.println();System.out.println();12. *十五个猴子围成一圈选大王,依次1-7 循环报数,报到7 的猴子被淘汰,直到最后一只猴子成为大王。问,哪只猴子最后能成为大王?总数 要输入 ,从哪一只开始要输入,点到几要输入public class javaSevenDay public static void main(String args) int all = 15, start = 1, end = 7, num;System.out.print(出局的猴子有:);int monkey = new intall + 1;num = all + 1;monkey0 = 0;for (int i = 1; i monkey.length; i+)monkeyi = 1;for (int i = 1; i = end; i+) if (all = 1)break;else if (i = end) all-;i = 0;monkeystart = 0;System.out.print(start + );do start+;start = start % num; while (monkeystart != 1);System.out.println();System.out.print(猴王为第 + start + 只猴子。);13. *螺旋填数读入两个整数m,n,输出一个m 行n 列的矩阵,这个矩阵是1m*n 这些自然数按照右、下、左、上螺旋填入的结果。例如:读入4, 5,则输出1 2 3 4 514 15 16 17 613
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030蛋白质试剂市场发展分析及行业投资战略研究报告
- 2025-2030草地灯座市场前景分析及投资策略与风险管理研究报告
- 2025-2030节能建材行业行业风险投资发展分析及投资融资策略研究报告
- 2025-2030聚氨酯分散体行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030绿色建筑材料行业市场发展分析及发展趋势与投资研究报告
- 2025-2030纸制品行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030管乐器行业行业风险投资发展分析及投资融资策略研究报告
- 2025-2030离心筛行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030硬盘录像设备行业市场深度分析及发展策略研究报告
- 2025-2030石棉行业行业风险投资发展分析及投资融资策略研究报告
- AAO工艺处理图纸
- 第十二讲 建设社会主义生态文明PPT习概论2023优化版教学课件
- 2023年水文化知识竞赛参考题库(含答案)
- 广东省建筑施工安全管理资料统一用表2021年版(原文格式版)
- 平面向量与三角形的四心问题-高三理科数学复习讲义与跟踪训练含解析
- 收获机械-往复式切割器的工作原理
- 河北省唐山市迁安市2021-2022年三年中考二模英语试题分类汇编:语法填空
- 【企业招聘管理研究国内外文献综述】
- 蓄电池单轨吊设计选型方案及技术规格书
- 人文地理学(王恩涌)
- 五年级道德与法治下册作业设计优秀案例
评论
0/150
提交评论