《延禧攻略》如此火爆,蹭蹭热度,用 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. vue-cli3 chainWebpack配置,去除打包后文件的预加载prefetch/preload(已解决)

    //细节配置修改 chainWebpack: config => { console.log(config,'chainWebpack') // 移除 prefetch 插件 config.pl ...

  2. macOS High Sierra 10.13正式版USB安装盘制作

    1.首先,准备一个 8GB 或更大容量的 U盘,并备份好里面的所有资料. 2.下载好 macOS High Sierra 正式版的安装程序:https://support.apple.com/zh-c ...

  3. 单独安装VS2012装mono for android

    直接安装个SQL Server2012,然后就可以单独安装VS2012 来用mono for android了.如果不想装,那就装以下这些东西. 广州-PC286() 11:05:28 和 x86  ...

  4. (转)aix非计算内存 占用过高 案例一则

    原文:http://www.talkwithtrend.com/Article/28621 两台小型机组成的RAC环境,在用topas查看资源使用情况时,发现一台机器的非计算内存占用过高: MEMOR ...

  5. 静态代理,动态代理,Cglib代理详解

    一.静态代理 新建一个接口 定义一个玩家方法: package com."".proxy.staticc; public interface Iplayer { public vo ...

  6. ubuntu设置root权限默认密码

    1.默认root密码是随机的,即每次开机都有一个新的root密码.我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码2.终端会提示我们输入新的密码并确认,此时的密码就是root新密 ...

  7. css中奇怪的地方

    1.border-color      继承内部元素前景色(color:black.可能对元素本身没有效果) 2.border-style:none;//不仅样式没了,border-width也变为0 ...

  8. Jmeter创建WebService 测试计划

    构建 WebService 测试计划 在本章节,你将学习如何创建一个 测试计划 去测试 WebService.先创建5个用户请求同一个页面,同时每个请求重复2次,因此总数为(5个用户)X(1次请求)X ...

  9. hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz的集群搭建(单节点)(Ubuntu系统)

    前言 本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/ ...

  10. JavaScript设计模式-13.组合模式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...