没有合适的资源?快使用搜索试试~ 我知道了~
首页Java编程精华:对角线和与有序数组插入算法示例
Java编程精华:对角线和与有序数组插入算法示例
需积分: 1 0 下载量 22 浏览量
更新于2024-07-31
收藏 117KB DOC 举报
在"很好的编程例子教育频道"中,提供了两个Java编程示例,旨在帮助学习者理解和实践Java编程技巧。第一个示例是名为"Twenty_ninthCrossSum"的程序,主要关注的是如何计算一个3x3矩阵的对角线元素之和。通过双重for循环遍历矩阵,当索引i等于j时,将当前元素累加到总和变量sum中。这个练习不仅锻炼了对二维数组操作的理解,也展示了基础数据结构的运用,有助于初学者熟悉数组操作和条件判断。 第二个示例是"ThirtiethInsert",它涉及插入排序问题。给定一个已排序的数组(如1, 2, 3, 4, 5, 6, 7),程序要求用户输入一个数,然后按照原数组的升序顺序将其插入合适的位置。首先,程序会检查新数与数组末尾元素的关系,如果新数大于最后一个元素,则直接添加到末尾。否则,从数组的后向前遍历,找到第一个大于或等于新数的位置,将该位置之后的所有元素依次后移一位,最后插入新数。这个例子展示了数组排序和插入操作的实际应用,对理解数组操作的动态变化非常有帮助。 这两个程序都是基于实际问题的编程实例,通过它们,学习者可以提升Java编程技能,掌握循环、条件语句以及数组操作等基本概念,并逐渐形成编写高质量代码的习惯。同时,这些示例也体现了编程中的逻辑思维和算法设计,对于提升编程能力具有积极的作用。
资源详情
资源推荐
cn.com.flywater.FiftyAlgorthm; import java.util.Scanner; public class
Thirty_fifthSwop { static final int N = 8; public static void main(String[] args)
{ int[] a = new int [N]; Scanner s = new Scanner(System.in); int index1 = 0,
index2 = 0; System.out.println("please input numbers"); for(int i=0; i<N; i++)
{ a[i] = s.nextInt(); System.out.print(a[i] + " "); } int max =a[0], min = a[0];
for(int i=0; i<a.length; i++) { if(a[i] > max) { max = a[i]; index1 = i; } if(a[i] <
min) { min = a[i]; index2 = i; } } if(index1 != 0) { int temp = a[0]; a[0] = a[index1];
a[index1] = temp; } if(index2 != a.length-1) { int temp = a[a.length-1]; a[a.length-
1] = a[index2]; a[index2] = temp; } System.out.println("after swop:"); for(int
i=0; i<a.length; i++) { System.out.print(a[i] + " "); } } } /*
【程序 36】 * 作者 若水飞天题目:有 n 个整数,使其前面各数顺序向后移 m
个位置,最后 m 个数变成最前面的 m 个数 **/ /* * 这个题不知道有什么好办法,
比较直接方法的是把这个数组分成两个数组, * 再将两个数组合起来,但如果
不 控 制 好 数 组 的 下 标 , 就 会 带 来 很 多 麻 烦 。 */ package
cn.com.flywater.FiftyAlgorthm; import java.util.Scanner; public class
Thirty_sixthBackShift { public static final int N =10; public static void
main(String[] args) { int[] a = new int[N]; Scanner s = new Scanner(System.in);
System.out.println("please input array a, ten numbers:"); for(int i=0; i<a.length;
i++) { a[i] = s.nextInt(); } System.out.println("please input m , one number:");
int m = s.nextInt(); int[] b = new int[m]; int[] c = new int[N-m]; for(int i=0; i<m;
i++) { b[i] = a[i]; } for(int i=m,j=0; i<N; i++,j++) { c[j] = a[i]; } for(int i=0; i<N-m;
i++) { a[i] = c[i]; } for(int i=m,j=0; i<N; i++,j++) { a[i] = b[j]; } for(int i=0;
i<a.length; i++) { System.out.print(a[i] + " "); } } } /*
【程序 37】 * 作者 若水飞天题目:有 n 个人围成一圈,顺序排号。从第一个人
开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下的是原来第
几 号 的 那 位 。 **/ /* * 这 个 程 序 是 完 全 抄 别 人 的 */ package
cn.com.flywater.FiftyAlgorthm; import java.util.Scanner; public class
Thirty_sevenCount3Quit { public static void main(String[] args) { Scanner s =
new Scanner(System.in); int n = s.nextInt(); boolean[] arr = new boolean[n];
for(int i=0; i<arr.length; i++) { arr[i] = true;//下标为 TRUE 时说明还在圈里 } int
leftCount = n; int countNum = 0; int index = 0; while(leftCount > 1)
{ if(arr[index] == true) {//当在圈里时 countNum ++; //报数递加 if(countNum ==
3) {//报道 3 时 countNum =0;//从零开始继续报数 arr[index] = false;//此人退出圈
子 leftCount --;//剩余人数减一 } } index ++;//每报一次数,下标加一 if(index ==
n) {//是循环数数,当下标大于 n 时,说明已经数了一圈, index = 0;//将下标设
为 零 重 新 开 始 。 } } for(int i=0; i<n; i++) { if(arr[i] == true)
{ System.out.println(i); } } } } /*【程序 38】 * 作者 若水飞天题目:写一个函数,
求一个字符串的长度,在 main 函数中输入字符串,并输出其长度。 */ package
cn.com.flywater.FiftyAlgorthm; public class Thirty_eighthStringLength { public
static void main(String[] args) { String s = "jdfifdfhfhuififffdfggee";
System.out.print("字符串的长度是:"); System.out.println(s.length()); } } *【程
序 39】 * 作者 若水飞天题目:编写一个函数,输入 n 为偶数时,调用函数求
1/2+1/4+...+1/n, 当输入 n 为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数) **/
package cn.com.flywater.FiftyAlgorthm; import java.text.DecimalFormat;
剩余14页未读,继续阅读
Jordansm
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功