Java快速入门-05-数组循环条件 实例《延禧攻略》
《延禧攻略》如此火爆,蹭蹭热度,用 JAVA 最基础的数组,循环,条件,输入/输出,做了一个简单的小游戏,帮助初学者巩固 JAVA 基础,注释非常详细
动态图展示:
xuanfei.java 源代码:
//包名根据自己包修改,可以没有
package xuanfei;
//用 Scanner 做输入
import java.util.Scanner;
//public 类
public class appMain {
//main函数
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//后宫娘娘数组
String[] nnNameArray = {"西施", "甄嬛", "貂蝉", "甄宓", "王昭君", "杨玉环", "", "", ""};
//娘娘的人数默认为 6
int nnCount = 6;
//默认游戏天数
int gameDays = 1;
//级别数组>依次增大,默认为 0 : 贵人
String[] levelNames = {"贵人", "嫔妃", "贵妃", "皇贵妃", "皇后"};
//每个娘娘对应的级别
int[] level = new int[10];
//对应每个娘娘的好感度,默认100
int[] loves = new int[10];
for (int i = 0; i < loves.length; i++) {
loves[i] = 100;
}
//进入游戏最多 10 天
while(gameDays <= 10) {
System.out.println("**********************************\n游戏进行到第 " + gameDays + " 天");
System.out.println("1、皇上下旨选妃\t\t(增加)");
System.out.println("2、翻牌宠幸\t\t(修改状态)");
System.out.println("3、打入冷宫\t\t(删除)");
System.out.println("4、查看所有爱妃\t\t(查找、修改状态)");
System.out.println("陛下请选择:");
int choice = input.nextInt();
switch(choice) {
case 1:
//增加娘娘,原有娘娘好感度都 -10
System.out.println("请输入娘娘的名称:");
String newName = input.next();
//1.在姓名数组增加,2.好感度数组
if(nnCount == nnNameArray.length) {
System.out.println("后宫已满!");
break;
}
nnNameArray[nnCount] = newName;
loves[nnCount] = 100;
//原有娘娘好感度都 -10
for (int i = 0; i < loves.length; i++) {
loves[i] -= 10;
}
nnCount++;
break;
case 2:
//翻牌宠幸,选中娘娘好感度 +10,提升级别,其他好感度 -10
for (int i = 0; i < nnCount; i++) {
System.out.print((i+1) + nnNameArray[i] + "\t");
}
System.out.println("\n请输入娘娘编号:");
int select = input.nextInt();
select--;
//好感度 +20
loves[select] += 20;
//其他好感度 -10
for (int i = 0; i < nnCount; i++) {
if(i != select) {
loves[i] -= 10;
}
}
System.out.println(nnNameArray[select] + "娘娘好感度 +20,提升级别为:" + level[select] + "其他娘娘好感度 -10");
//级别 +1
if(level[select] < 4) {
level[select] += 1;
}
break;
case 3:
break;
case 4:
System.out.println("名字" + "\t" + "级别"+ "\t" + "好感度");
System.out.println("-------------------------");
for (int i = 0; i < nnCount; i++) {
System.out.println(nnNameArray[i] + "\t" + levelNames[level[i]] + "\t" + loves[i]);
}
break;
default:
System.out.println("必须输入 1-4 之间的整数");
continue;
}//switch
gameDays++;
}//while
input.close();
//www.cnblogs.com/xpwi
}//main
}//class
粘贴请自行修改包名、类名
Java快速入门-05-数组循环条件 实例《延禧攻略》的更多相关文章
- java基础入门之数组循环初始化
/* Name:数组循环化 Power by Stuart Date:2015-4-23 */public class ArrayTest02{ public static void main (St ...
- Java快速入门-03-小知识汇总篇(全)
Java快速入门-03-小知识汇总篇(全) 前两篇介绍了JAVA入门的一系小知识,本篇介绍一些比较偏的,说不定什么时候会用到,有用记得 Mark 一下 快键键 常用快捷键(熟记) 快捷键 快捷键作用 ...
- Java快速入门-02-基础篇
Java快速入门-02-基础篇 上一篇应该已经让0基础的人对 Java 有了一些了解,接一篇更进一步 使用 Eclipse 快捷键 这个老师一般都经常提,但是自己不容易记住,慢慢熟练 快捷键 快捷键作 ...
- Java快速入门-01-基础篇
Java快速入门-01-基础篇 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA 本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻 ...
- Java 快速入门-06-JDK 目录文件说明
Java 快速入门-06-JDK 目录文件说明 JDK:开发环境,搞技术的人或者应用服务器使用 JRE:运行环境,如浏览器插件或者Swing界面的客户端等最终用户需要使用 JDK自含一个JRE,并依赖 ...
- 拿nodejs快速搭建简单Oauth认证和restful API server攻略
拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...
- Kotlin学习快速入门(2)——条件 数组 循环 方法
条件 if条件判断 常用的判断和Java一样,这里提一下不同的用法 1.if可以作为三元运算符 val max = if (a > b) a else b 2.使用in判断是否在某个区间 val ...
- 从net到java:java快速入门
学习java那是不可能的,到为什么不学习一下呢.仅为总结.希望自己在不久的将来能书写优美的java程序.加油!奥利给 1.注释 注释的重要性不言而喻,我们不管写什么代码注释必不可少,那么java的注释 ...
- Java快速入门
Java 是什么? Java 的特点: 面向对象 平台无关(跨平台): 简单 安全 体系结构 - 中性 可移植 健壮 多线程 解释型 高性能 分布式 动态 Java环境设置: Java SE可免费提供 ...
随机推荐
- 防止过拟合:L1/L2正则化
正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在tr ...
- dubbo和zookeeper的关系
转载前言:网络上很多教程没有描述zookeeper和dubbo到底是什么关系.分别扮演了什么角色等信息,都是说一些似是而非的话,这里终于找到一篇文章,比较生动地描述了注册中心和微服务框架之间的关系,以 ...
- [Xamarin] 透過StartActivityForResult傳值回來(转贴)
上一篇文章(開啟另外一個Activity 並且帶資料),提到了開啟一個新的Activity ,我們將值透過intent 帶到下個Activity 但是,如果我們開啟的Actrivity其實是有一個任務 ...
- 【转载】log4j详解使用
log4j详解 日志论 在应用程序中输出日志有有三个目的:(1)监视代码中变量的变化情况,把数据周期性地记录到文件中供其他应用进行统计分析工作. (2)跟踪代码运行进轨迹,作为日后审计的依据. ...
- 对于SQL Server 2008删除或压缩数据库日志的方法
由于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400M的数据库居然有4G的LOG文件,严重占用了磁盘空间.由于主要是做OLAP,所以数据库本身不会有大变动,所以日志也就没有 ...
- box-shadow向元素添加阴影效果
div{ box-shadow: 10px 10px 5px #888888;} 语法:box-shadow: h-shadow v-shadow blur spread color inset; 值 ...
- 【LDAP】LDAP常用命令解析
ldapadd -x 进行简单认证-D 用来绑定服务器的DN-h 目录服务的地址-w 绑定DN的密码-f 使用ldif文件进行条目添加的文件例子 ldapadd -x -D &qu ...
- js中window对象详解以及页面跳转
1.window.top.window.location = "index.asp"; 2.window.top.location.href="index.asp&quo ...
- PTA (Advanced Level) 1022 Digital Library
Digital Library A Digital Library contains millions of books, stored according to their titles, auth ...
- 498_Diagonal-Traverse
目录 498_Diagonal-Traverse Description Solution Java solution Python solution 1 Python solution 2 Pyth ...