Halo

A magic place for coding

0%

ISBN 号码问题

问题描述

  每一本正式出版的图书都有一个 ISBN 号码与之对应,ISBN 码包括 9 位数字、1 位识别码和 3 位分隔符,其规定格式如 “x-xxx-xxxxx-x”,其中符号 “-” 是分隔符(键盘上的减号),最后一位是识别码,例如 0-670-82162-4 就是一个标准的 ISBN 码。ISBN 码的首位数字表示书籍的出版语言,例如 0 代表英语;第一个分隔符 “-” 之后的三位数字代表出版社,例如 670 代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。
  识别码的计算方法如下:
  首位数字乘以 1 加上次位数字乘以 2…… 以此类推,用所得的结果 mod 11,所得的余数即为识别码,如果余数为 10,则识别码为大写字母 X。例如 ISBN 号码 0-670-82162-4 中的识别码 4 是这样得到的:对 067082162 这 9 个数字,从左至右,分别乘以 1,2,…,9,再求和,即 0×1+6×2+……+2×9=158,然后取 158 mod 11 的结果 4 作为识别码。
  编写程序判断输入的 ISBN 号码中识别码是否正确,如果正确,则仅输出 “Right”;如果错误,则输出是正确的 ISBN 号码。

Read more »

消除类游戏问题

问题描述

  消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有 n 行 m 列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。
  现在给你一个 n 行 m 列的棋盘,棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。
  请注意:一个棋子可能在某一行和某一列同时被消除。

Read more »

俄罗斯方块问题

问题描述

  俄罗斯方块是俄罗斯人阿列克谢・帕基特诺夫发明的一款休闲游戏。
  游戏在一个 15 行 10 列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由 4 个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方格图上的方块上边缘重合或者达到下边界时,板块不再移动,如果此时方格图的某一行全放满了方块,则该行被消除并得分。
  在这个问题中,你需要写一个程序来模拟板块下落,你不需要处理玩家的操作,也不需要处理消行和得分。
  具体的,给定一个初始的方格图,以及一个板块的形状和它下落的初始位置,你要给出最终的方格图。

Read more »

前言

  我们把 hexo 博客托管在 github 的仓库中,但是仓库中只会托管一些静态网页文件,但是文章的源码和一些很关键的站点配置文件并没有被托管,因此,在进行备份和恢复上就存在很大麻烦。在这篇 post 中,我们就来解决这个问题。

Read more »

  在初学 java 的时候,我们总是比较关心一个程序如何从命令行读取输出,如何输出数据。在这篇 post,我就来给大家讲解一下关于 java 的一些常用输入输出操作。

Read more »

  由于课程原因,需要将本机的系统版本进行升级,需要升级到 Windows 10 Fall Creators 版本。本身的版本是 14393,目标版本是最新的 16299。
  首先我用 windows 自带的更新服务,但是完成更新并重启后,提示更新失败了。

Read more »

第一个 Java 程序

  在这篇 post 中,我将讲述如何写第一个 Java 程序 –Welcome.java。首先我们要对 Java 这门语言有一定的语法了解。
  每一个 Java 程序,都必须 ** 含至少 1 个 class,这是 JVM 运行的机制所要求的,并且这个类的类名必须和文件名相一致,只有这样,JVM 才能找到这个类。程序的入口和 C 族语言一样,依然是 **main () 函数 **,这个函数是作为 **publicstatic 的方法被 JVM 所识别。

Read more »

JSON 查询问题

问题描述

 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数据。JSON 格式中的基本单元是值 (value),出于简化的目的本题只涉及 2 种类型的值:

  • 字符串 (string):字符串是由双引号 “括起来的一组字符(可以为空)。如果字符串的内容中出现双引号”,在双引号前面加反斜杠,也就是用 "表示;如果出现反斜杠 \,则用两个反斜杠 \ 表示。反斜杠后面不能出现” 和 \ 以外的字符。例如:””、”hello”、”"\“。
  • 对象 (object):对象是一组键值对的无序集合(可以为空)。键值对表示对象的属性,键是属性名,值是属性的内容。对象以左花括号 { 开始,右花括号 } 结束,键值对之间以逗号,分隔。一个键值对的键和值之间以冒号:分隔。键必须是字符串,同一个对象所有键值对的键必须两两都不相同;值可以是字符串,也可以是另一个对象。例如:{}、{“foo”: “bar”}、{“Mon”: “weekday”, “Tue”: “weekday”, “Sun”: “weekend”}。

  除了字符串内部的位置,其他位置都可以插入一个或多个空格使得 JSON 的呈现更加美观,也可以在一些地方换行,不会影响所表示的数据内容。例如,上面举例的最后一个 JSON 数据也可以写成如下形式。
  {
  ”Mon”: “weekday”,
  ”Tue”: “weekday”,
  ”Sun”: “weekend”
  }
  给出一个 JSON 格式描述的数据,以及若干查询,编程返回这些查询的结果。

Read more »