实验三 Java 数组和方法应用
一、实验目的
1、 掌握数组的定义及使用方法;
2、 掌握数组的引用传递;
3、 掌握方法及方法的重载。
五、实验理论与预备知识
1、 数组的定义及使用方法;
2、 数组的引用传递;
3、 方法及方法的重载。
六、实验内容与结果
- 编程求 1!+2!+3!+…+20! 的值并显示,要求使用方法完成。
- 输出一个乘法口诀表,需要两层循环。
- 编写一个方法,此方法可以将一个整数变为二进制输出。
- 有 5 个人坐在一起,问第 5 个人多少岁?答:比第 4 个人大 2 岁,问第 4 个人多少岁的时候,比第 3 个人大 2 岁,问第 3 个人多少岁的时候,比第 2 个人大 2 岁,问第 1 个人多少岁的时候,第一个人说自己是 8 岁,那么第 5 个人的岁数是?用代码计算第五个人的年龄,并打印输出。
- 有 30 个 0~9 之间的数字,分别统计 0~9 这 10 个数字分别出现了多少次。
- 在排好序的数组中添加一个数字,将添加后的数字插入到数组合适的位置,保持数组原有排序方式。
1
public class dome {
public static void main(String[] args) {
System.out.println(sum());
}
public static long sum() {
long sum=0L;
for(int i=1;i<=20;i++) {
sum=sum+factorial(i);}
return sum;
}
public static long factorial(int i) {
long s=1L;
for(int j=1;j<=i;j++)
{
s=s*j;
}
return s;
}
}
2
public class dome {
public static void main(String[] args) {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
}
3
public class dome {
public static void main(String[] args) {
er();
}
public static void er() {
int s=10;//十进制数s
int b[]=new int[999];
int i=0;
while (s>=1) {
b[i]=s%2;
s=s/2;
i++;
}
for(int j=i-1;j>=0;j--) {
System.out.print(b[j]+" ");
}
}
}
4
public class dome {
public static void main(String[] args) {
age();
}
public static void age() {
int a=8;
for(int i=1;i<5;i++) {
a=a+2;
}
System.out.println(a);
}
}
5
public class dome {
public static void main(String[] args) {
int a[]= {1,1,5,3,5,9,8,9,6,0,0,8,7,6,5,2,4,5,2,2,7,8,6,5,4,4,7,0,0,9};
count(a);
}
public static void count(int a[]) {
int b[]=new int [10];
for(int i=0;i<30;i++) {
b[a[i]]++;
}
for(int i=0;i<10;i++) {
System.out.println("数字"+i+"有 "+b[i]+" 个");
}
}
}
6
public class dome {
public static void main(String[] args) {
int []a= {1,2,4,5,6,8,9};
System.out.print("原数组为:");
for(int element:a) {
System.out.print(element+" ");
}
System.out.println();
int b=3;
System.out.println("插入数字为:"+b);
cut_in(a,b);
}
public static void cut_in(int a[],int b) {
int l=a.length;
int c[]=new int[l+1];
int index=0;
for(int i=0;i=sign;j--) {
c[j+1]=c[j];
}
c[sign]=b;
System.out.print("插入"+b+"后数组为:");
for(int data:c) {
System.out.print(data+" ");
}
}
if(c[0]>c[l-1]){//降序
int sign=0;
for(int i=0;i<=l-1;i++) {
if(b>c[i]) {
sign=i;
break;
}
}
for(int j=l-1;j>=sign;j--){
c[j+1]=c[j];
}
c[sign]=b;
System.out.print("插入"+b+"后数组为:");
for(int data:c) {
System.out.print(data+" ");
}
}
if(c[0]==c[l-1]) { //全等
if(b>=c[0]) {
System.out.print("插入"+b+"后数组为:");
for(int data:c) {
System.out.print(data+" ");
}
}
else {
for(int i=l-1;i>=0;i--){
c[i+1]=c[i];
}
c[0]=b;
System.out.print("插入"+b+"后数组为:");
for(int data:c) {
System.out.print(data+" ");
}
}
}
}
}
eg:



