《延禧攻略》如此火爆,蹭蹭热度,用 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-数组循环条件 实例《延禧攻略》的更多相关文章

  1. java基础入门之数组循环初始化

    /* Name:数组循环化 Power by Stuart Date:2015-4-23 */public class ArrayTest02{ public static void main (St ...

  2. Java快速入门-03-小知识汇总篇(全)

    Java快速入门-03-小知识汇总篇(全) 前两篇介绍了JAVA入门的一系小知识,本篇介绍一些比较偏的,说不定什么时候会用到,有用记得 Mark 一下 快键键 常用快捷键(熟记) 快捷键 快捷键作用 ...

  3. Java快速入门-02-基础篇

    Java快速入门-02-基础篇 上一篇应该已经让0基础的人对 Java 有了一些了解,接一篇更进一步 使用 Eclipse 快捷键 这个老师一般都经常提,但是自己不容易记住,慢慢熟练 快捷键 快捷键作 ...

  4. Java快速入门-01-基础篇

    Java快速入门-01-基础篇 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA 本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻 ...

  5. Java 快速入门-06-JDK 目录文件说明

    Java 快速入门-06-JDK 目录文件说明 JDK:开发环境,搞技术的人或者应用服务器使用 JRE:运行环境,如浏览器插件或者Swing界面的客户端等最终用户需要使用 JDK自含一个JRE,并依赖 ...

  6. 拿nodejs快速搭建简单Oauth认证和restful API server攻略

    拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最 ...

  7. Kotlin学习快速入门(2)——条件 数组 循环 方法

    条件 if条件判断 常用的判断和Java一样,这里提一下不同的用法 1.if可以作为三元运算符 val max = if (a > b) a else b 2.使用in判断是否在某个区间 val ...

  8. 从net到java:java快速入门

    学习java那是不可能的,到为什么不学习一下呢.仅为总结.希望自己在不久的将来能书写优美的java程序.加油!奥利给 1.注释 注释的重要性不言而喻,我们不管写什么代码注释必不可少,那么java的注释 ...

  9. Java快速入门

    Java 是什么? Java 的特点: 面向对象 平台无关(跨平台): 简单 安全 体系结构 - 中性 可移植 健壮 多线程 解释型 高性能 分布式 动态 Java环境设置: Java SE可免费提供 ...

随机推荐

  1. request.getSession(true/false)的区别

    javax.servlet.http.HttpServletRequest接口有两个方法:getSession(boolean)和getSession(). 具体什么区别,跟踪源码分析下,先摆出结论: ...

  2. win10 下springcloud打包docker镜像部署。

    1:建一个最简单的springcloud应用. 2:在根目录下新建dockerfile,文件如下: FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE ...

  3. SpringMVC之RequestMappingHandlerMapping

    <mvc:annotation-driven content-negotiation-manager="" enable-matrix-variables="tru ...

  4. (转)Linux下部署tomcat及tomcat war包应用程序

    原文:http://www.cnblogs.com/smallfa/news/2017/07/17/7193620.html 1, 通过winscp将tomcat包(6和7版本都是一样的安装方法)和j ...

  5. linux 打包 压缩 解压缩

    gzip gzip xxx文件 压缩文件xxx,后缀.gz 并且删除原来文件 gzip -tv xxx.gz 测试压缩文件压完整性 压缩当前文件夹所有文件: zip -r ./1.zip ./* -r ...

  6. PHP之mb_strrpos使用

    mb_strrpos (PHP 4 >= 4.0.6, PHP 5, PHP 7) mb_strrpos - Find position of last occurrence of a stri ...

  7. CentOS/Linux 解决 SSH 连接慢

    现在连接linux服务器一般都是使用SSH远程连接的方式.最近新装了一台服务器,发现telnet时速度很快,ping时一切也正常,但SSH连接的时候却很慢.经过网上资料查询,大致是有以下几种原因: 1 ...

  8. PL/SQL:these query result are not updateable,include the ROWID to get updateab -----for update

    these query result are not updateable,include the ROWID to get updateab 原因: 其实,选中一个表后,右键,如果选择“query ...

  9. wpf 窗口最小化后,触发某事件弹出最小化窗口并置顶

    //如果窗口最小化了弹出并置顶----事件触发调用 ShowWindowAsync(new System.Windows.Interop.WindowInteropHelper(CommonHelpe ...

  10. 十二、spark MLlib的scala示例

    简介 spark MLlib官网:http://spark.apache.org/docs/latest/ml-guide.html mllib是spark core之上的算法库,包含了丰富的机器学习 ...