小游戏算年龄

有这样一个小游戏,你可以按照下面的步骤一步一步地完成:
(1)你一般一个星期中哪一天最忙呢?如果是星期一,则选1,如果是星期二,则选2,依此类推,从1、2、3、4、5、6、7中选一个数字;
(2)将这个数字乘2;
(3)如果你是男生,则将得到的结果加4,如果你是女生,则将得到的结果加8;
(4)将得到的结果乘以50;
(5)如果你是在1 ~ 6月出生,则将得到的结果加2002,如果你是在7 ~ 12月出生,则将得到的结果加3002;
(6)将得到的结果减去你出生的年份(例如1988);
(7)取结果的后两位,得到一个两位数,将这个两位数加10。
你一定会感到惊奇,最后得到的结果竟然是你现在的年龄。请编程实现上述游戏的计算过程,并输出年龄的计算结果。(要求对不符合要求的输入提示"Invalid input." 并不再继续执行以下程序)

输入输出格式:
输出格式控制字符串:
“Please input your busiest day.\n”
“Please input your gender.\n”
“Please input your birthday.\n”
“Your age is:%d\n”
“Invalid input.\n”
输入格式控制字符串:
“%d”
" %c"
“%4d-%2d-%2d”

import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("Please input your busiest day.");int week = scan.nextInt();if (week < 1 || week > 7) {System.out.println("Invalid input.");System.exit(0);}week /= 2;System.out.println("Please input you gender.");char gender = scan.next().charAt(0);if (gender == 'm') {week += 4;} else if (gender == 'f') {week += 8;} else {System.out.println("Invalid input.");System.exit(0);}week *= 50;System.out.println("Please input your birthday.");String birthday;birthday = scan.next();int month = (birthday.charAt(5) - '0') * 10 + (birthday.charAt(6) - '0');int year = (birthday.charAt(0) - '0') * 1000 + (birthday.charAt(1) - '0') * 100 + (birthday.charAt(2) - '0') * 10 + (birthday.charAt(3) - '0');int day = (birthday.charAt(8) - '0') * 10 + (birthday.charAt(9) - '0');if (birthday.length() != 10 || birthday.charAt(4) != '-' || birthday.charAt(7) != '-') {System.out.println("Invalid input.");System.exit(0);} else if (month < 1 || month > 12) {System.out.println("Invalid input.");System.exit(0);}int[][] dday = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};int flag = 1;if (year % 4 != 0) {flag = 0;} else if (year % 400 != 0) {flag = 0;}if (day < 1 || day > dday[flag][month]) {System.out.println("Invalid input.");System.exit(0);}if (month <= 6) {week += 2002;} else {week += 3002;}week -= year;week %= 100;System.out.printf("Your age is:%d", week + 10);}
}

tips:Java没有格式化输入,也许有但目前我还未掌握,所以在格式化输入生日时我只能用土方法,将字符串中的字符一个个拿来处理,所以非常繁琐,如果大佬有简单方法请务必赐教,但是Java有类似c语言的格式化输出System.out.printf,这点还是非常方便的

小游戏算年龄(Java)相关推荐

  1. java制作纯字rpg小游戏_求java rpg小游戏源代码 最好是文字rpg 不需要很复杂 只是交作业用...

    展开全部 连连看的小源码 package Lianliankan; import javax.swing.*; import java.awt.*; import java.awt.event.*; ...

  2. python实现小游戏-猜年龄

    本文用python实现一个猜年龄的小游戏demo,各位看官仅供参考 import random import time###提示语部分 print('你好,我是机器人小埋,我们来玩个猜年龄的小游戏吧- ...

  3. 从剪刀石头布小游戏开始的Java入门学习(第一章)

    文章目录 前言 一.项目起源 二.类与对象 1.类是什么? 2.类在石头剪刀布中的使用 1.权限修饰符 2.get和set方法 3.this关键字 4.构造器 5.单例模式 1.static关键字 2 ...

  4. 4399曾经最火的黄金矿工小游戏,用Java语言2小时学会

    你玩过4399曾经最火的黄金矿工小游戏吗,黄金矿工小游戏是一款休闲娱乐的一个挖宝游戏,在游戏中地下会有许多的宝藏,你得想办法把它们都挖出来,作为矿工的你,对你来说是轻车熟路的,能不能挖到宝,看你抓取的 ...

  5. 「深圳紫石」招聘小游戏开发者、Java后端!

    小游戏开发工程师 简介 招聘人数 2~3人 薪资范围 10000-15000元/月 可面谈 职位描述: 1.负责小游戏(QQ玩一玩.微信小游戏)功能模块的设计及开发,实现策划需求 2.高效的与服务器端 ...

  6. 2020年最强大脑第五期黑白迭代小游戏实现(Java)

    游戏规则: 8×8的棋盘上初始所有格子均为白色.每点击一个方格,则该方格与其上下左右共5个方格变色(由白变黑或相反).游戏目标是要把自己的棋盘变为与题目棋盘完全一致. 实现代码: import jav ...

  7. java多线程围棋小游戏代码,java小游戏源代码(java开发的50个小游戏)

    <扫雷>是一款大家类的益智类游戏,游戏训练目标是在最少的時间内依据点一下方格出現的数据找到全部非雷方格,另外防止爆雷,碰到一个雷即满盘皆输. 经典推箱子,目地是在训炼你的逻辑性思索工作能力 ...

  8. 双人弹球小游戏 (基于Java图形化界面编程)

    用户界面如下 : 玩法:双方玩家可以分别控制A-D键和←-→键来进行各自球拍的位置,如果某方没有接住小球,则对方获胜,游戏结束. 代码如下: import javax.swing.*; import ...

  9. 射击类小游戏——坦克大战(java实现)

    项目名称:坦克大战 项目背景:坦克大战是一款非常经典的游戏,也是学习面向对象编程的理想实例.现在面向对象的计算机编程语言很多,很多想法都可以通过编程来实现.本文的坦克大战有完整的界面,能够实现人机大战 ...

最新文章

  1. vs发布免安装文件_戒掉PC,免pc开发,cloud ide and debug设想
  2. 【问题】定时任务整理笔记附问题求大佬解答!!!!
  3. servlet和action的区别
  4. 如何将您的#100DaysOfCode登录转换为视觉体验
  5. java文件序列化_Java序列化与反序列化,文件操作
  6. moocpython123输入若干数、每行输入一个数值作业_MOOC嵩天@python123作业
  7. 内存占用少,计算速度快!华为诺亚方舟Lab开源即插即用的多用卷积核(NeurIPS 2018)...
  8. 23_使用dtree展示所有分类
  9. 将Windows上的鼠标指针主题移植到Linux上
  10. 阿里云文本检测 使用教程(Java)
  11. 遗传+粒子群 求解多配送中心车辆调度问题(python)
  12. tdk磁材手册_TDK磁性材料市场.ppt
  13. 淘宝、天猫按关键词搜索商品API接口返回数据展示
  14. JavaIO流——文件的读取与传输
  15. 通过Java监听MySQL数据的变化
  16. lightgbm画决策树方法
  17. 建筑建材行业SaaS多租户用户管理系统:高度整合企业资源,探索数字化转型新路径
  18. ps绘制超级五角星教程
  19. 滑动窗口有关的算法面试题
  20. 教你搭个助我大学拿Offer的面试项目

热门文章

  1. 调用百度ai接口实现图片文字识别详解
  2. php 获取必应图片信息,PHP自动获取必应今日美图
  3. MySQL数据库的常用命令
  4. 自定义android模拟器,在模拟器上运行自定义Android ROM
  5. greasemonkey入门
  6. 计算机故障小知识,计算机故障的一些小知识.doc
  7. Java套接字程序_java – 通过Web套接字进行应用程序到应用程序的通信
  8. VBox安装xp虚拟机无法上网
  9. 看EyeEm如何在产品开发中整合、运用深度学习模型
  10. 【JavaScript】浏览器