一、实验目的
1、 掌握数组的定义及使用方法;
2、 掌握数组的引用传递;
3、 掌握方法及方法的重载。
二、实验学时
2 学时
三、实验类型 验证性实验
四、实验需求
1、硬件
每位学生配备计算机一台
2、软件
Windows XP 操作系统, JDK,eclipse ,MySQL
3、网络
无
4、工具
无
五、实验理论与预备知识
1、 数组的定义及使用方法;
2、 数组的引用传递;
3、 方法及方法的重载。
六、实验内容与结果
1、编程求 1!+2!+3!+ …+20! 的值并显示,要求使用方法完成。
public class Main {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<=20;i++) {
sum+=jc(i);
}
System.out.println(sum);
}
public static int jc(int x) {
int sum=1;
for(int i=x;i>0;i--)
sum=sum*i;
return sum;
}
}
运行结果:268040729
2 、输出一个乘法口诀表, 需要两层循环。
public class Main {
public static void main(String[] args) {
for (int i =1; i <=9; i++){
for (int j=1; j <=i; j++){
System.out.print(i + "*" + j +"=" +(i * j)+" ");
}
System.out.println(" ");
}
}
}
- 编写一个方法, 此方法可以将一个整数变为二进制输出。
import java.math.BigInteger;
import java.util.Scanner;
public class Main(){
public static void demo2(String arg0[]){
Scanner can = new Scanner(System.in);
while (can.hasNext()) {
System.out.println(new BigInteger(can.next()).toString(2));
}
}
}
4 、有 5 个人坐在一起,问第 5 个人多少岁?答:比第 4 个人大 2 岁,问第 4 个人 多少岁的时候, 比第 3 个人大 2 岁, 问第 3 个人多少岁的时候, 比第 2 个人大 2 岁, 问 第 1 个人多少岁的时候, 第一个人说自己是 8 岁, 那么第 5 个人的岁数是?用代码计算 第五个人的年龄,并打印输出。
public class Main {
public static void main(String[] args) {
System.out.println("第五个人年龄为:"+ D(5));
}
public static int D(int i) {
if (i == 1) {
return 10 ;
}else {
return 2 + D(i-1);
}
}
}
5 、有 30 个 0~9 之间的数字,分别统计 0~9 这 10 个数字分别出现了多少次。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int arr[] = new int[30],num[] = new int[10];
for (int i = 0; i < arr.length; i++) {
Scanner input = new Scanner(System.in);
System.out.println("请输入第"+(i+1)+"个数");
arr[i] =input.nextInt();
}
for (int i = 0; i < num.length; i++) {
int sum=0;
for (int j = 0; j < arr.length; j++) {
if (i==arr[j]) {
sum++;
}
}
System.out.println(i+"出现次数为"+sum+"次");
}
}
}
- 在排好序的数组中添加一个数字,将添加后的数字插入到数组合适的位置, 保 持数组原有排序方式。
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[] = {1,2,3,4,5};
insert(6, array);
}
public static void insert(int a, int b[]){
int newArray[] = new int[b.length+1];
int j = 0;
int m = 0;
for(int i=0; i<b.length; i++){
if(a<b[i]){
newArray[j++] = a;
while(j<newArray.length){
newArray[j++] = b[i++];
}
m++;
}else{
newArray[j++] = b[i];
}
}
if(m ==0){
newArray[j] = a;
}
for(int k=0; k<newArray.length; k++){
System.out.print(newArray[k]+"\t");
}
}
}