【实习生活】实习生活第十一天

上午

今天学的知识依然比较基础,所以没有做笔记,依然是学习的循环和嵌套相关的知识,上午写了一些简单的小例子,关于求一个范围内所有非3的倍数的数的和、课程平均成绩(这里有个小数点后小数位数的保留问题)、以及输出九九乘法表、直角三角形、等腰三角形等,都比较基础,没什么问题:
代码有部分是昨天的,因为很简单,没怎么注释,看着有点乱。。。。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import java.text.NumberFormat;
import java.util.Scanner;
public class loop {
public static void main(String []args){
int n = 0;
Scanner input = new Scanner(System.in);
///////////////////////////////////////////////////九九乘法表
System.out.println("九九乘法表:");
for(int i = 1; i<= 9;i++){
for(int j=1;j<=i;j++){
System.out.print(j + "*" + i + "=" + i*j + " ");
}
System.out.print("\n");
}
///////////////////////////////////////////////////直角三角形
System.out.println("请输入直角三角形行数:");
int raws = input.nextInt();
for(int i = 1; i<= raws;i++){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.print("\n");
}
///////////////////////////////////////////////////等腰三角形
System.out.println("请输入等腰三角形行数:");
raws = input.nextInt();
for(int i = 1; i<= raws;i++){
for(int j=raws-i;j>0;j--){
System.out.print(" ");
}
for(int j=1;j<=(i*2-1);j++){
System.out.print("*");
}
System.out.print("\n");
}
/*double percent;
int i = 1;
for(i = 1;i<=100;i++){
if(i%3!=0){
n+=i;
}
}
System.out.println("Sum1:"+n);
*/
//n=0;
//for(i = 1;i<=100;i++){
// n+=i;
//}
//123
//n n+1 n+2
//(n+1+1)/(3n+3)=1/3+1/(3n+3)
//System.out.println("Sum2:"+n);
//System.out.println("Sum3:" + 5050*2/3);
////////////////////////////////////////////////////////////////////
/*for(int j = 0; j < 3; j++){
System.out.println("请输入" + (j+1) + "班学生姓名:");///////////////////
String name = input.next();
System.out.println("请输入课程总数:");
n = input.nextInt();
int i = 0;
double tem;
double sum = 0;
int flag=0;
for(i = 0 ; i < n ;i++){
System.out.println("请输入第" + (i+1) + "门成绩:");
tem= input.nextDouble();
sum +=tem;
if(tem>80){
flag++;
}
}
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setMaximumFractionDigits(2);
System.out.println(name + n +"门功课的平均成绩为:" + numberFormat.format(sum*1.0/n));
System.out.println(name +"大于80分的功课所占比例为:" + (numberFormat.format(flag*1.0/n*100)) + "%");
}*/
//100以内的偶数和
/*int a = 0,sum=0;
while(a<=100){
sum += a;
a += 2;
}
System.out.println("100以内的偶数和为:" + sum);*/
//任意(不越界情况下)范围内的偶数和
/* Scanner input = new Scanner(System.in);
System.out.println("请输入范围:");
int from,to;
System.out.println("From:");
from = input.nextInt();
System.out.println("To:");
to = input.nextInt();
while(from>=to){
System.out.println("输入错误!");
System.out.println("请重新输入范围:");
System.out.println("From:");
from = input.nextInt();
System.out.println("To:");
to = input.nextInt();
}
int key = from;
int sum=0;
for(key = from;key<=to;key++){
if(key%2==0){
sum=sum+key;
}
}
System.out.println(from + "~" + to + "的偶数和为:" + sum);*/
}
}

下午

下午的工作听着有点挑战性,老师让做一个登录注册系统,并且接入剪刀石头布游戏,除了不同玩家可以进行比赛外,还有一个天梯排名榜的功能。。今天的要求是做一个单用户登录即可,但是感觉这样太简单,就直接做了多用户的,使用了一个空间有限的小数组来装用户信息的,这样做是因为自己刚上手java,对数据口操作还不清楚,对文件操作也不清楚,先用个数组存着吧,明天的时候再试一下文件操作,
感觉应该问题不大。
下面是登录注册系统的代码(login.java)和剪刀石头布游戏代码(guess.java):

login.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import java.util.Scanner;
public class login {
public static void main(String [] args){
Scanner input = new Scanner(System.in);
String Name[] = new String [10];
String Pass[] = new String [10];
int usernum = 0;
while(true){
System.out.println("**************************************");
System.out.println("** 欢迎来到剪刀石头布游戏 **");
System.out.println("** **");
System.out.println("** 1.登录 2.注册 3.退出 **");
System.out.println("**************************************");
int select = input.nextInt();
if(select == 1){
//登录
if(usernum == 0){
System.out.println("系统暂无注册用户,请先注册!");
}else {
System.out.println("请输入用户名:");
String temname = input.next();
int i = 0,flag = 0;
while(flag==0){
for(i = 0;i < usernum;i++){
if(temname.equals(Name[i])){
flag = 1;
break;
}
}
if(flag == 0){
System.out.println("该用户不存在!请重新输入用户名:");
temname = input.next();
}
}
System.out.println("请输入密码:");
String tempass = input.next();
int time = 0;
while(tempass.equals(Pass[i])==false){
time++;
if(time==5){
break;
}
System.out.println("密码输入错误!请重新输入密码:");
tempass = input.next();
}
if(time==5){
System.out.println("密码输入次数过多!登陆失败!");
break;
}else{
System.out.println("登录成功!\n 欢迎用户" + temname + "登录剪刀石头布游戏!");
guess.main(null);
System.out.println("后续功能待开发!再见!");
//break;
}
}
}else if(select == 2){
//注册
System.out.println("******欢迎注册剪刀石头布游戏********");
System.out.println("请输入用户名(用户名不得少于4位!):");
String name = input.next();
int i,flag;
while(true){
if(name.length()<4){
System.out.println("用户名过短!请重新输入用户名!");
name = input.next();
}else {
i = 0;
flag = 0;
while(flag==0){
for(i = 0;i < usernum;i++){
if(name.equals(Name[i])){
flag = 1;
break;
}
}
if(flag == 1){
System.out.println("该用户已存在!请重新输入用户名:");
name = input.next();
}else {
break;
}
}
if(flag == 0){
break;
}
}
}
System.out.println("请输入用户密码(密码不得少于4位!):");
String pass = input.next();
while(true){
if(pass.length()<4){
System.out.println("密码过短!请重新输入密码!");
pass = input.next();
}else {
break;
}
}
System.out.println("请再次输入确认密码:");
while(input.next().equals(pass)==false){
System.out.println("两次输入密码不一致,注册失败!\n 请再次确认密码!");
}
if(usernum<10){
Name[usernum]=name;
Pass[usernum]=pass;
usernum++;
System.out.println("用户" + name + "注册成功!");
//break;
}else{
System.out.println("系统用户注册数已达最大值!注册失败!");
break;
}
/*String doublepass = input.next();
if(pass.equals(doublepass)){
System.out.println("注册成功!");
break;
}else {
System.out.println("两次输入密码不一致,注册失败!\n 请重新输入密码!");
while(input.next().equals(pass)==false){
System.out.println("两次输入密码不一致,注册失败!\n 请重新输入密码!");
}
System.out.println("注册成功!");
break;
}*/
}else if(select == 3){
//退出
System.out.println("欢迎下次再来!谢谢!");
break;
}else {
//非法输入
System.out.println("该功能尚未开发,敬请期待!");
}
}
}
}

guess.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import java.util.Scanner;
public class guess {
public static void main(String [] args){
System.out.println("**************************************");
System.out.println("** 欢迎来到剪刀石头布游戏 **");
System.out.println("** 请选择规则 **");
System.out.println("** 1 三局两胜制 2 五局三胜制 **");
System.out.println("**************************************");
Scanner input = new Scanner(System.in);
int type = input.nextInt();
int sumtime = 0;
while(true){
if(type == 1){
sumtime = 3;
break;
}else if(type == 2){
sumtime = 5;
break;
}else {
System.out.println("输入错误!请重新输入:");
System.out.println("**************************************");
System.out.println("** 请选择规则 **");
System.out.println("** 1 三局两胜制 2 五局三胜制 **");
System.out.println("**************************************");
type = input.nextInt();
}
}
play(sumtime);
}
private static void play(int i) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int stime = i;
int time=0;
int wintime=0;
int aiwin=0;
int you,ai;
int times=0;
System.out.println("***************************************");
System.out.println("** 请出拳: **");
System.out.println("** 1--> 剪刀 2-->石头 3-->布 **");
System.out.println("***************************************");
while(true){
System.out.println("第"+(times+1)+"局:\n");
String arr[]={"","剪刀","石头","布"};
you = input.nextInt();
while(true){
if(you <=3 && you >=1){
break;
}else{
System.out.println("输入有误,请重新输入!");
you = input.nextInt();
}
}
System.out.println("你出了:" + arr[you]);
ai = (int)(Math.random()*3+1);
System.out.println("机器人出了:" + arr[ai]);
if(you==ai){
wintime++;
aiwin++;
}else if((you==1&&ai==3)||(you==2&&ai==1)||(you==3&&ai==2)){
wintime++;
}else{
aiwin++;
}
times++;
if(times==stime){
break;
}
}
if(wintime==aiwin){
System.out.println("棋逢对手,平局!");
}else if(wintime>aiwin){
System.out.println("恭喜你,你赢了!");
}else{
System.out.println("很遗憾,你输了!");
}
}
}

代码还有很多地方有待完善

晚上

一如既往的写博客、看书、复习!加油↖(^ω^)↗
什么???又是这套路????
O(∩_∩)O哈哈哈 今天换个样!刚好有个“博赛杯”第一届 HappyCTF 大赛——热身赛,玩一玩吧~


声明:
文章标题:【实习生活】实习生活第十一天
文章作者:RookieHacker
文章链接:http://rookiehacker.coding.me/blog/2017/06/28/eleventh-day-in-Beijing/
文章版权属本博主所有,有问题或者建议欢迎在下方评论。欢迎转载、引用,但请标明作者和原文地址,谢谢。


喜欢,就支持我一下吧~