package com.softeem;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
/**
*
* <p>Title: Day120802</p>
* <p>Description:
* 针对课堂案例猜字母,考虑如何实现不仅猜对字母个数,
* 而且需要直到有多少个位置也猜对了
* </p>
* @author LiXiuYong
* @date 2020年12月13日
*/
public class Day120802 {
public static void main(String[] args) {
//系统随机生成5个字母的数组
char[] sys=new char[5];
sysRandom(sys);
//用户输入一串字符------>字符数组
char[] in=new char[5];
input(in);
//比较判断
compare(sys,in);
//打印系统字符
System.out.println("系统字符为:"+Arrays.toString(sys));
}
/*
* [封装]:系统生成5个字符的方法
*/
public static void sysRandom(char[] sys) {
Random r=new Random();
for(int i=0;i<sys.length;i++) {
sys[i]=(char)(r.nextInt(26)+65);
}
}
/*
* [封装]:用户输入字符窜----->字符数组的方法
*/
public static void input(char[] in) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入您猜的字符串:");
String s=sc.next();
for(int i=0;i<in.length;i++) {
in[i]=s.charAt(i);//charAt()
}
sc.close();
}
/*
* [封装]:比较
*/
public static void compare(char[] sys,char[] in) {
int t=0;
for(int i=0;i<sys.length;i++) {
for(int j=0;j<in.length;j++) {
int a=sys[i];
int b=in[j];
if(a==b&&i==j) {
System.out.println("猜对了"+sys[i]);
t++;
}
}
}
System.out.println("共有"+t+"个位置猜对");
}
}
2020-12-13
最新推荐文章于 2024-04-07 00:38:59 发布