Java练习:数组
来源:互联网 发布:侠客岛 知乎 编辑:程序博客网 时间:2024/04/28 11:58
返回 Java编程练习目录
《编程导论(Java)·5.3数组》介绍了Java数组的知识,我们现在需要用足够的代码练习数组的使用。
几个要点:
- Zero-based indexing.数组的元素不能够自由的命名;通过下标 (index)被自动编号为arr[0]到arr [arr.length -1]。
- 数组是隐含的类,任意数组都是Object的子类。有公有成员变量length;数组的元素相当于数组的成员变量,被系统自动(至少)默认初始化。
- 数组的遍历:传统for语句或for-each语句
1.初始化、遍历
用随机值初始化两个长度为n的数组,操作一下。
package dataStructures.array;import static tips.Print.*;/** * ArrayBasic.java: * 演示array的各种基本语法。 * @author (yqj2065) * @version (0.1) */public class ArrayBasic{ public static void opArrays(int n){ int[] a = new int[n]; int[] b = new int[n]; for (int i = 0; i <n; i++) { a[i] =(int)(n * Math.random()); b[i] =(int)(n * Math.random()); } pln(a);pln(b); int max =0; for(int x: a){ if (x > max) max = x; } pln("max in array a = "+ max); double sum = 0.0; for (int x : b) { sum += x; } pln("average of array b = "+ sum /n); }}[4, 2, 2, 2, 3]
[0, 0, 2, 2, 4]
max in array a = 4
average of array b = 1.6
大量练习参见第11章排序。
2.大数的阶乘
以一定长度的int数组a保存阶乘得数的每一位,a[0]保存最高位,a[n-1]保存个位。
注:n!需要的位数log10(n!) 取整加1。
package dataStructures.array;public class Factorial4Big{ static void factorial( int n ){ int len = len(n);//n!的位数 int[] a = new int[len]; int h_digit = len-1;//最高位指针 a[h_digit] = 1; for (int i=2;i<=n;i++){//阶乘 for (int k = h_digit; k<len; k++){//i乘以a各有效位数的元素 a[k] *= i; } for (int k = len-1;k>=h_digit;k--) {//进位 if (a[k]>10){ a[k-1] += a[k] / 10; a[k] = a[k] % 10; if (k-1<h_digit) h_digit--; } } } for (int i=h_digit; i<len; i++){//打印 System.out.print(a[i]); } System.out.print(" "+len); } // n!需要的位数。 static int len(int n){ double x = 0; for(int i=1; i<=n; i ++) { x += Math.log10(i); } return (int)Math.floor(x)+1; } }50000! = 334732…0000 213237 //要运行较长时间。
0 0
- Java数组练习
- JAVA数组练习
- Java数组练习
- Java数组练习
- Java数组练习
- Java练习:数组
- Java数组练习
- java数组专项练习
- Java对象数组练习
- Java 练习1--数组
- 练习--java数组
- java数组练习
- java【源码】二维数组练习
- Java数组练习冒泡排序
- Java数组的相关练习
- Java练习--数组最大距离
- 编程练习二维数组 java
- Java 基础练习之数组
- pandas选取特定索引的行
- Eclipse,MyEclipse增强html代码提示功能
- GPU硬件加速的那些优秀的资源总结-续
- mongodb 最新版本高可用解决方案-replica sets副本集部署详细过程
- CSS3中,如何设置text文本框中,placeholder的字体颜色大小等
- Java练习:数组
- PupopMenu 弹出菜单
- 欢迎使用CSDN-markdown编辑器
- 【技术】从百度ID直接找到ta分享的东西
- java学习总结六:abstract抽象类
- Elasticsearch 下载 安装
- 北大青鸟asp.net学习总结——ADO.net(对Sql Server进行操作的数据访问类)
- viewpager页显示
- Visual Studio 2010 复制代码到word时出现中文乱码的解决办法