package day06;
import java.util.Scanner;
public class Guessing{
public static void main(String[] args) {
// 表示玩家猜测的次数
int count = 0;
//表示用户猜测的数据
char[] input=null;
// 用于保存判断的结果
int[] result = new int[2];
Scanner scanner = new Scanner(System.in);
System.out.println("GuessingGame>欢迎尝试猜字母游戏!");
// 表示猜测的字符串
char[] chs = generate();
System.out.println("GuessingGame>游戏开始,请输入你所猜的5个字母序列:(exit——退出)");
System.out.println(chs);
while (true) {
String inputStr = scanner.next().trim().toUpperCase();
if ("EXIT".equals(inputStr)) {
System.out.println("GuessingGame>谢谢你的尝试,再见!");
break;
}
input = inputStr.toCharArray();
result = check(chs, input);
if (result[0] == chs.length) {// 完全猜对的情况
int score = 100 * chs.length - count * 10;
System.out.println("GuessingGame>恭喜你猜对了!你的得分是:" +
score);
break;
} else {
count++;
System.out.println("GuessingGame>你猜对" + result[1] +"个字符,其中" + result[0] + "个字符的位置正确!(总次数=" + count + ",exit——退出)");
}
}
scanner.close();
}
/**
* 随机生成需要猜测的字母序列
*
* @return 存储随机字符的数组
*/
public static char[] generate() {
char[] letters = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z' };
boolean[] flags = new boolean[letters.length];
char[] chs = new char[5];
for (int i = 0; i < chs.length; i++) {
int index;
do {
index = (int) (Math.random() * (letters.length));
} while (flags[index]);// 判断生成的字符是否重复
chs[i] = letters[index];
flags[index] = true;
}
return chs;
}
/**
* 比较玩家输入的字母序列和程序所生成的字母序列,逐一比较字符及其位置,并记载比较结果
*
* @param chs
* 程序生成的字符序列
* @param input
* 玩家输入的字符序列
* @return 存储比较的结果。返回值int数组 的长度为2,其中,索引为0的位置
* 用于存放完全猜对的字母个数(字符和位置均正确),索引为1的位置用于存放猜对的字母个数(字符正确,但是位置不正确)。
*/
public static int[] check(char[] chs, char[] input) {
int[] result = new int[2];
for (int i = 0; i < input.length; i++) {
for (int j = 0; j < chs.length; j++) {
if (input[i] == chs[j]) {// 判断字符是否正确
result[1]++;
if (i == j) {// 判断位置是否正确
result[0]++;
}
break;
}
}
}
return result;
}
}
/*package day06;
import java.util.Scanner;
public class Guessing {
public static void main(String[] args) {
}
}
*/
没有合适的资源?快使用搜索试试~ 我知道了~
JSD.rar_JSD_JSD1006说明书_jsd开发教程_jsd编程_terriblejde
共174个文件
class:111个
java:60个
prefs:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 132 浏览量
2022-09-21
21:55:32
上传
评论
收藏 79KB RAR 举报
温馨提示
初始基础知识,这个基础知识挺重要的,希望大家能好好学习
资源推荐
资源详情
资源评论
收起资源包目录
JSD.rar_JSD_JSD1006说明书_jsd开发教程_jsd编程_terriblejde (174个子文件)
Guessing.class 3KB
UnionPayTest.class 1KB
Addition1.class 1KB
Addition.class 1KB
Cashier.class 1KB
T.class 1KB
J.class 1KB
ShapeTest.class 1KB
ABCImpl.class 1KB
Cell.class 1KB
Cell.class 1KB
Cell.class 1KB
TJTest.class 1KB
LeapYear.class 1KB
Tetromino.class 1KB
Tetromino.class 1KB
MaxOfArray.class 1KB
ABCImpl.class 1KB
MaxOfArray2.class 1KB
TJTest.class 1KB
Guessing.class 1KB
Student.class 1KB
CommandBySwitch.class 1KB
Switch.class 1KB
CellTest.class 1KB
shulie2.class 1KB
BubbleSort.class 1006B
ScoreLevel.class 1002B
ICBCImpl.class 996B
ICBCImpl.class 996B
MultiTable2.class 993B
MultiTable.class 984B
DebugDemo.class 930B
ABCATM.class 877B
Cell.class 876B
Age.class 842B
Shulie.class 836B
StudentTest.class 829B
VarDemo.class 827B
StaticDemo.class 813B
TJTest.class 786B
ForDemo.class 778B
Homework1.class 772B
Goo.class 741B
Loo.class 738B
NstInnerClassDemo$2.class 702B
Mama$Baby.class 699B
NstInnerClassDemo.class 697B
UnionPayTest.class 693B
MulTypeDemo.class 660B
ArrayDemo.class 654B
Homework.class 640B
Mama.class 607B
HelloWorld.class 598B
OverrideDemo.class 577B
Doo.class 548B
CellTest.class 546B
T.class 518B
J.class 518B
T.class 518B
J.class 518B
InterfaceDemo.class 517B
UpDemo.class 515B
Noo.class 509B
Boo.class 491B
Eoo.class 484B
Foo.class 480B
InnerClassDemo.class 471B
Ioo.class 455B
NstInnerClassDemo$1.class 453B
Moo.class 450B
Hoo.class 444B
Ooo.class 422B
Joo.class 417B
Eoo.class 407B
Aoo.class 407B
Circle.class 402B
Square.class 402B
RefArrayDemo.class 397B
DataTypeDemo.class 391B
FinalDemo.class 388B
SuperDemo.class 388B
Poo.class 386B
guesing1.class 379B
Koo.class 370B
Coo.class 334B
Doo.class 331B
Qoo.class 318B
Aoo.class 314B
Shape.class 299B
Boo.class 279B
Coo.class 274B
Boo.class 266B
Aoo.class 260B
Roo.class 258B
Too.class 258B
Coo.class 256B
Uoo.class 254B
UnionPay.class 207B
UnionPay.class 207B
共 174 条
- 1
- 2
资源评论
alvarocfc
- 粉丝: 109
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功