public class Computer {
private int num;
public Computer() {
super();
Random random =
new Random();
this.num = random.nextInt(
3) +
1;
}
public int getNum() {
return num;
}
public void setNum(
int num) {
this.num = num;
}
public String
ComputerJudge() {
String
string =
"出错";
switch (num) {
case 1:
string =
"剪刀";
break;
case 2:
string =
"石头";
break;
case 3:
string =
"布";
break;
default:
break;
}
return string;
}
public class User {
private int num;
public int getNum() {
return num;
}
public void setNum(
int num) {
this.num = num;
}
public User(
int num) {
super();
this.num = num;
}
public String
userJudge() {
String
string =
null;
switch (num) {
case 1:
string =
"剪刀";
break;
case 2:
string =
"石头";
break;
case 3:
string =
"布";
break;
default:
break;
}
return string;
}
}
public class Judge {
private String userWin =
"用户 胜";
private String computerWin =
"用户 负";
private String noWin =
"平局";
public String
judge(Computer computer, User user) {
if (computer.getNum() ==
1) {
switch (user.getNum()) {
case 1:
return noWin;
case 2:
return userWin;
case 3:
return computerWin;
default:
break;
}
}
else if (computer.getNum() ==
2) {
switch (user.getNum()) {
case 1:
return userWin;
case 2:
return noWin;
case 3:
return computerWin;
default:
break;
}
}
else {
switch (user.getNum()) {
case 1:
return userWin;
case 2:
return computerWin;
case 3:
return noWin;
default:
break;
}
}
return computerWin;
}
}
import java
.io.File
import java
.io.FileInputStream
import java
.io.FileOutputStream
import java
.io.IOException
import java
.io.ObjectInputStream.GetField
import java
.text.SimpleDateFormat
import java
.util.Date
import java
.util.Scanner
//主程序入口
public class File1 {
public static void main(String[] args) throws IOException {
// 判断是否有这个文件夹。没有就创建
File file = new File(
"d:/game")
if (!file
.exists()) {
file
.mkdir()
}
// 判断是否有这个文件,没有就创建
File file2 = new File(
"d:/game/user.txt")
if (!file2
.exists()) {
file2
.createNewFile()
}
// 读取文件中的数据
FileInputStream file3 = new FileInputStream(
"d:/game/user.txt")
byte[] data = new byte[
1024]
int len
while ((len = file3
.read(data)) != -
1) {
String string = new String(data,
0, len)
System
.out.println(string)
}
file3
.close()
// ---------------------以上是准备工作------------------------
// ----------------------游戏开始--------------------------
Date date = new Date()
FileOutputStream fos = new FileOutputStream(
"d:/game/user.txt", true)
SimpleDateFormat sf = new SimpleDateFormat(
"yyyy-MM-dd")
String dateString = sf
.format(date)
System
.out.println(dateString)
fos
.write(
"\r\n".getBytes())
fos
.write(dateString
.getBytes())
fos
.flush()
fos
.close()
System
.out.println(
"开始游戏")
String key =
"N"
int k =
1
do {
FileOutputStream fos1 = new FileOutputStream(
"d:/game/user.txt", true)
System
.out.println(
"请输入数字:1-剪刀,2-石头,3-布")
Scanner scanner = new Scanner(System
.in)
User user = new User(scanner
.nextInt())
Computer computer = new Computer()
System
.out.println(
"电脑出了" + computer
.ComputerJudge())
Judge judge = new Judge()
System
.out.println(judge
.judge(computer, user))
String string = new String(
"第" + k +
"局," +
"电脑出了" + computer
.ComputerJudge() +
",用户出了" + user
.userJudge()
+
" " + judge
.judge(computer, user))
fos1
.write(
"\r\n".getBytes())
fos1
.write(string
.getBytes())
fos1
.flush()
fos1
.close()
System
.out.println(
"是否继续Y/N")
key = scanner
.next()
k++
} while (key
.equals(
"Y"))
}
}
第一次玩
第二次玩
可以看到,此时历史纪录被显示
查看电脑中的指定文件
可以看到,历史战绩已经被存储在本地