实验报告
一. 实验名称
数组与字符串
二. 实验目的及要求
实验目的:1) 熟悉 Java 中数组的使用;
2) 熟悉 Java 中字符串的使用。
实验要求:
三. 实验环境
Eclipse Java 2019-06
四. 实验内容
1)数组的基本操作,包括创建数组,填充数组,访问数组,拷贝数组,数组排
序,数组查找。
2)编写一个猜密码的小程序,规则如下:程序首先产生一个三位数的密码,例
如“025”,用户每次输入一个四位数来猜密码,程序会告诉用户猜对了几位数字,
例如用户输入“915”,则程序会输出:您猜对了 1 位数字,猜错了 2 位数字。思
考一下:用户最多需要多少次才可以猜中密码?用户平均需要多少次可以猜中密
码?将小程序用户可以尝试的次数设置为用户平均需要猜中密码的次数。
五. 实验过程及实验结果
1)新建工程创建一个类 ArraysDemo,创建方法 public static void main(String[]
args),首先创建一个长度为 10 的整型数组,然后填充数组,拷贝数组,对数组
排序,最后再在数组中查找。代码如下:
package 数组;
import java.util.Arrays;
import java.util.Random;
public class ArraysDemo {
public static void main(String[] args) {
int[] arrayA = new int[10];
int[] arrayC = new int[10];
Random random = new Random();
for(int i=0;i
思考:因为数组长度为 10,所以在排好序的数组中进行查找,最多只需要 10 次
可以查找到制定的元素。
2)新建工程,并创建一个类 GuessPassword,创建方法 public static void
main(String[] args) ,首先生成一个 0 至 999 的随机整数,并将这个整数转换
为密码字符串,代码如下:
package password;
import java.util.Random;
import java.util.Scanner;
public class GuessPassword {
public static final int MAX_GUESS_TIMES=30;
public static void main(String[] args) {
Random random = new Random();
int i = random.nextInt(1000);
String password = Integer.toString(i);
if(i<10) {
password = "00" + password;
}
else if(i<100) {
password = "0" + password;
}
System.out.println("要猜的数字:"+password);
Scanner in = new Scanner(System.in);
int times = 0;
String userInput;
String[] history = new String[MAX_GUESS_TIMES];
while(times
'9'||user
Input.trim().charAt(1)<'0'||userInput.trim().charAt(1)>'9'||userInput.trim()
.charAt(2)<'0'||userInput.trim().charAt(2)>'9') {
System.out.println("输入的字符不是数字,请重新输入:");
continue;
}
history[times] = userInput;
if(userInput.equals(password)) {
System.out.println("恭喜你,猜对了!");
System.out.print("历史记录为:");
for(int j=0;j}
}
}
}
结果如图:
1)输入错误
2)猜数字输出历史记录
3)机会用完
思考:用户最多需要 30 次可以猜中密码。
六. 实验小结
1)问题分析
①将 50 以内的随机数填充进入数组时,要注意是不同的随机数,即每产生一个
随机数,需要与之前所有的数进行比较,判断是否相等,不相等则写入数组;
②猜密码时要注意判断输入是否正确;
③输入历史记录时,需要注意每一次输入后都需输出历史记录;
④如果用户输入的数字不是 3 位,就通过 if 语句来判断不足几位,通过高位补
零的方法分别补足位数。
2)体会
本次实验我学会了数组的相关操作,以及猜密码时需要考虑到的查错、提示
问题。同时,我还认识到代码的运行要适应人的习惯,符合人的操作,这样才能
被广泛接受。
七. 教师评阅意见
这部分内容由指导教师来写