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

上午

今天上午学习了关于java循环的一些知识,讲了关于while、do-while、for等循环的基本用法,由于都很基本,老师讲的例题也很简单,让求0~100之间所有偶数的和。。自己敲了一个求自定义范围内所有偶数和的小程序:
loop.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
import java.util.Scanner;
public class loop {
public static void main(String []args){
//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);*/
}
}

然后老师又让做一个超市里面关于商品价格查询和商品结算的程序,但是商品信息要写在程序中,感觉这样很不友好,虽然是刚学这个吧,感觉按照老师的要求实现起来没什么难度,就自己写了一个能够自己录入商品信息,并且能够查询,结算的小程序,也很low吧,没有用到数据库,录入的信息只能在每次程序运行的时候有效
但是这样起码感觉是那么回事了,等待后期继续学习了关于后端的一些知识后,应该能做出比较工业化的程序:

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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
import java.util.Scanner;
public class getprice {
public static String goods[] = new String [10];//记录商品名称
public static double price[] = new double [10];//记录每种商品的价格
public static double zhekou[] = new double [10];//记录每种商品的折扣信息
public static int lenth = 2;//初始化录入商品的数量
public static void main(String [] args){
goods[0]="T恤";
price[0]=100.00;
zhekou[0]=0.8;
goods[1]="键盘";
price[1]=520.00;
zhekou[1]=0.85;//初始化信息
Scanner input = new Scanner(System.in);
int type;
while(true){
System.out.println("~~~~~~~~~~欢迎使用商品查询系统!~~~~~~~~~~~~");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("请按照提示选择要进行的操作:\n 1.查询商品价格 2.添加商品信息 3.商品结算服务 4.退出");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
type = input.nextInt();
if(type==1){
chaxun();//查询界面
}else if(type==2){
shuru();//录入信息界面
}else if(type==3){
jiesuan();//结算界面
}else if(type==4){
break;//退出
}else {
System.out.println("输入错误!请重新输入!");
System.out.println("请按照提示选择要进行的操作:\n 1.查询商品价格 2.输入商品价格 3.退出");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
type = input.nextInt();
}
}
System.out.println("谢谢使用!再见!");
}
private static void jiesuan() {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.println("~~~~~~~~~~~~~~~~商品结算界面~~~~~~~~~~~~~~~~");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("当前商品目录:");
int len = lenth;
int i;
int num;
for(i = 0; i < len; i++){
System.out.print((i + 1) + "." + goods[i] + " ");
}
System.out.println("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
String flag;
flag = "y";
int mark[]= new int [10];
while(flag.equals("n")==false){
System.out.println("请选择所购买的商品编号:");
num = input.nextInt();
num--;
while(num>lenth){
System.out.println("输入错误!请重新输入!");
System.out.println("请选择所购买的商品编号:");
num = input.nextInt();
num--;
}
System.out.println("请输入购买数量:");
mark[num]= input.nextInt();
System.out.println("是否继续购买?(y/n):");
flag = input.next();
}
double sum = 0;
int time = 0;
for(i = 0;i<10;i++){
if(mark[i]>0){
System.out.println(goods[i] + " " + price[i] + " X" + mark[i]);
time += mark[i];
sum += price[i] * mark[i];
}
}
System.out.println("合计 : " + time + "件 " + sum);
System.out.println("请输入付款金额:");
int money = input.nextInt();
System.out.println("收取: " + money);
System.out.println("找零: " + (money - sum));
System.out.println("谢谢使用!再见!");
}
private static void shuru() {
// TODO Auto-generated method stub
System.out.println("~~~~~~~~~~~~~~~管理员登录界面~~~~~~~~~~~~~~~");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Scanner input = new Scanner(System.in);
System.out.println("请输入管理员密码:");
int pass = input.nextInt();
int time=0;
while(time<4){
if(pass == 123456){
System.out.println("欢迎管理员登录!");
break;
}else{
time++;
System.out.println("密码输入错误!您还有" + (5-time) + "次机会!");
System.out.println("请重新输入密码:");
pass = input.nextInt();
}
}
if(pass == 123456){
add();
}else {
System.out.println("密码错误次数过多!");
}
}
private static void add() {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
System.out.println("~~~~~~~~~~~~~~~~添加商品界面~~~~~~~~~~~~~~~~");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("当前商品目录:");
int len = lenth;
int i;
String goodName;
double temprice;
double zk;
for(i = 0; i < len; i++){
System.out.print((i + 1) + "." + goods[i] + " 价格:" + price[i] + " 折扣:" + zhekou[i] );
}
System.out.println("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("请输入商品名称:");
goodName = input.next();
System.out.println("请输入商品价格:");
temprice = input.nextDouble();
System.out.println("请输入商品折扣:");
zk = input.nextDouble();
String flag;
System.out.println("商品名称:" + goodName + " 商品价格:" + temprice + " 商品折扣:" + zk + " 确认添加?(y/n):");
flag = input.next();
while(flag.equals("y")==false && flag.equals("n")==false){
System.out.println("输入错误!");
System.out.println("商品名称:" + goodName + " 商品价格:" + temprice + " 商品折扣:" + zk + " 确认添加?(y/n):");
flag = input.next();
}
if(flag.equals("y")){
//goods.
//price[len + 1] = temprice;
goods[lenth]=goodName;
price[lenth]=temprice;
lenth++;
System.out.println("添加成功!再见!");
}else{
System.out.println("未添加!再见!");
}
}
private static void chaxun() {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
///System.out.println("Test page!");
int len = lenth;
int i = 0;
int n = 0;
String flag = "y";
while(flag.equals("y")){
i = 0;
System.out.println("请输入购买的商品编号:");
for(i = 0; i < len; i++){
System.out.print((i + 1) + "." + goods[i] + " ");
}
System.out.println("\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
n = input.nextInt();
while(true){
if(n<=len){
break;
}else {
System.out.println("输入错误!请重新输入:");
n = input.nextInt();
}
}
System.out.println(n + "号商品" + goods[n-1] + "的价格为:" + price[n-1]);
System.out.println("是否继续?(y/n):");
flag = input.next();
while(flag.equals("y")==false && flag.equals("n")==false){
System.out.println("输入错误!是否继续?(y/n):");
flag = input.next();
}
}
}
}

下午

下午很轻松,基本没什么事情了,老师突然有事要去开会,我们就在教室自己敲(玩)代(游)码(戏)。。。。。写了一下飞行棋的部分代码,写了大体的框架,生成了游戏地图,具体的掷骰子走棋的步骤还没写,现在想看高数了。。代码一会再完善。。下面是完善后的代码,应该有很多需要继续完善的地方,等有时间再说吧。。。

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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
import java.util.Scanner;
public class feixingqi {
private static String maze[][] = new String [19][40];
public static void main(String [] args){
//飞行棋
System.out.println("欢迎来到飞行乐园!");
showrule();
init();
showmaze();
//掷骰子
System.out.println("开始游戏?y/n");
Scanner input = new Scanner(System.in);
String flag = input.next();
while(true){
if(flag.equals("y")){
init();
startGame();
System.out.println("是否开始新一局游戏?y/n");
flag=input.next();
}else if(flag.equals("n")){
System.out.println("游戏结束!再见!!");
break;
}else {
System.out.println("输入错误,请重新输入!");
System.out.println("开始游戏?y/n");
flag=input.next();
}
}
int step = zhishaizi();
System.out.println("step="+step);
}
private static void showrule() {
// TODO Auto-generated method stub
System.out.print("每个玩家掷一次骰子,点数即使前进步数,“###”为前\n进路线,“**”处不可走,左线到达“★”的玩家为胜出者!\n");
}
private static void startGame() {
// TODO Auto-generated method stub
//System.out.println("Heheheheheheh");
int count = 0;
int time = 1;
int step = 0,s1 = 0,s2 = 0,s3 = 0,s4 =0;
maze[0][0] = "①";
maze[0][39] = "②";
maze[18][0] = "③";
maze[18][39] = "④";
while(true ){
step = zhishaizi();
if(count%4==0){//player1,要先右后下走
if(s1!=0){//把之前的位置置为#
if(s1<18){
maze[0][s1+2]="#";
}else{
maze[s1-18][19]="#";
}
}
s1 += step;
if(s1>=25){
System.out.println("游戏结束!Player1为最终赢家!");
break;
}
if(s1<18){//不拐弯
maze[0][s1+2]="❶";
}else{//拐弯
maze[s1-18][19]="❶";
}
}else if(count%4==1){//player2,要先下后左走
if(s2!=0){//把之前的位置置为#
if(s2<8){
maze[s2-2][39]="#";
}else{
maze[9][47-s2]="#";
}
}
s2 += step;
if(s2>=25){
System.out.println("游戏结束!Player2为最终赢家!");
break;
}
if(s2<8){//不拐弯
maze[s2-2][39]="❷";
}else{//拐弯
maze[9][47-s2]="❷";
}
}else if(count%4==2){//player3,要先上后右走
if(s3!=0){//把之前的位置置为#
if(s3<8){
maze[16-s3][0]="#";
}else{
maze[9][s3-8]="#";
}
}
s3 += step;
if(s3>=25){
System.out.println("游戏结束!Player3为最终赢家!");
break;
}
if(s3<8){//不拐弯
maze[16-s3][0]="❸";
}else{//拐弯
maze[9][s3-8]="❸";
}
}else {//player4,要先左后上走
if(s4!=0){//把之前的位置置为#
if(s4<18){
maze[18][37-s4]="#";
}else{
maze[36-s4][19]="#";
}
}
s4 += step;
if(s4>=25){
System.out.println("游戏结束!Player4为最终赢家!");
break;
}
if(s4<18){//不拐弯
maze[18][37-s4]="❹";
}else{//拐弯
maze[36-s4][19]="❹";
}
}
count++;
if(count>0&&count%4==0){
System.out.println("第" + (count/4) + "局:");
showmaze();
System.out.print("\n");
}
}
}
private static void init() {
// TODO Auto-generated method stub
int i,j;
for(i = 0;i < 19;i++){
for(j = 0;j < 40;j++){
if(((i>=1&&i<9&&((j>=1&&j<=18)||(j>=20&&j<39))))||((i>=10&&i<18&&((j>=1&&j<19)||(j>=20&&j<39))))){
maze[i][j]=" ";
}else {
maze[i][j]="#";
}
if(((i==0)&&(j>19&&j<39))||((i==18)&&(j>0&&j<19))||((j==0)&&(i>0&&i<9))||(j==39)&&(i>=10&&i<19)){
maze[i][j]="*";
}
}
maze[0][0]="❶";
maze[0][39]="❷";
maze[18][0]="❸";
maze[18][39]="❹";
maze[9][19]="★";
maze[0][1]="→";
maze[1][39]="↓";
maze[17][0]="↑";
maze[18][38]="←";
maze[9][21]=" ";
maze[9][18]="→";
maze[8][19]="↓";
maze[10][19]="↑";
maze[9][20]=" ";
maze[9][21]="←";
maze[0][2]="#";
maze[18][37] = " ";
maze[9][38]="#";
maze[9][39]="#";
}
//showmaze();
}
private static void showmaze() {
// TODO Auto-generated method stub
for(int i = 0;i<19;i++){
for(int j = 0;j<40;j++){
System.out.print(maze[i][j]);
}
System.out.print("\n");
}
}
private static int zhishaizi() {
// TODO Auto-generated method stub
int tem;
tem = (int )(Math.random()*6+1);
return tem;
}
}

贴几张运行图:
初始化
结果

晚上

一如既往的写博客、看书、复习!加油↖(^ω^)↗(突然感觉看书的时间有点少。。。。这可咋整。。/(ㄒoㄒ)/~)


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


喜欢,就支持我一下吧~