
用二叉树就能实现.
public class SkillTree {
private class Node{
static final int UNDEF=0
int key
int value
String name
Node left
Node right
Node(int key,int value,String name){
this.key = key
this.value = value
this.name = name
left = null
right = null
}
public String toString(){
return "("+name+","+value+")"
}
}
private Node root
public SkillTree(){
root = null
}
public void insert(int key,int value,String name){
Node newNode = new Node(key,value,name)
if(root == null){
root = newNode
}else{
insertNode(root,newNode)
}
}
private Node getNode(int key) throws Exception{
Node result = root
while(result.key != key){
if(result.value == 0){
return null
}
if(key <result.key){
result = result.left
}else{
result = result.right
}
if(result == null){
throw new Exception("Can't find value by "+key)
}
}
return result
}
public int getValue(int key) throws Exception{
return getNode(key).value
}
private void insertNode(Node subtreeRoot,Node newNode){
Node current = subtreeRoot
while(true){
if(newNode.key<current.key){ //go left
if(current.left == null){
current.left = newNode
return
}else{
current = current.left
}
}else{ //go right
if(current.right == null){
current.right = newNode
return
}else{
current = current.right
}
}
}
}
public void setPoint(String name,int point){
int key = getKey(name)
if(key == -1){
System.out.println("没有这个技能名称:"+name)
return
}else{
try {
Node current = getNode(key)
if(current == null){
System.out.println("你还没有拥有这项技能."+name)
return
}
if(point >=0){
current.value = point
}else{
System.out.println("技能点不能为负.")
return
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace()
}
}
}
public int getKey(String name){
if(name.equals("冰d")){
return 50
}else if(name.equals("冰风暴")){
return 20
}else if(name.equals("冰封装甲")){
return 60
}else if(name.equals("冰尖柱")){
return 10
}else if(name.equals("暴风雪")){
return 40
}else if(name.equals("碎冰甲")){
return 70
}else if(name.equals("冰封球")){
return 30
}else if(name.equals("寒冰装甲")){
return 80
}else{
return -1
}
}
public void view(Node subtreeRoot){
if(subtreeRoot !=null){
System.out.print(subtreeRoot+"[")
view(subtreeRoot.left)
System.out.print(",")
view(subtreeRoot.right)
System.out.print("]")
}else{
System.out.print("N")
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
SkillTree st = new SkillTree()
st.insert(st.getKey("冰d"),0,"冰d")
st.insert(st.getKey("冰风暴"),0,"冰风暴")
st.insert(st.getKey("冰封装甲"),0,"冰封装甲")
st.insert(st.getKey("冰尖柱"),0,"冰尖柱")
st.insert(st.getKey("暴风雪"),0,"暴风雪")
st.insert(st.getKey("碎冰甲"),0,"碎冰甲")
st.insert(st.getKey("冰封球"),0,"冰封球")
st.insert(st.getKey("寒冰装甲"),0,"寒冰装甲")
st.view(st.root)
System.out.println()
st.setPoint("冰风暴",5)
st.view(st.root)
}
}
在某信输入什么代码可以看菜谱菜谱数据采用XML方式存储,使用时调用;
2:程序主界面采用tabtable界面 通过切换tab来显示各个界面,分为4个界面Suggestion,推荐界面, colloect界面,getall界面,calcute界面;
3:Suggestion界面设置随便看看按钮和搜索按钮,随便看看按钮随机从数据库中抽取5个数据,读取到listview中显示出来;搜索界面采用模糊查询方式,查询数据;
4:collect界面显示收藏的菜谱数据,并且采用SQLite数据库存储模式,存储到数据库中;
5:getall显示全部数据库数据,并且支持记录上次阅读位置,下次进入程序的时候直接继续上次浏览;
6:calcute显示通过身高计算体重的小工具;
7:全部数据采用listview来显示,通过自定义的adapter来适配数据;
8:所有listview都支持点击进去详细菜谱查看;
文章知识点与官方知识档案匹配
小程序技能树首页概览
3984 人正在系统学习中
打开CSDN APP,看更多技术内容
Python-MLOps-Cookbook:这是容器化烧瓶应用程序的一个示例
集装箱烧瓶机学习这是容器化烧瓶应用程序的一个示例回购资产Makefile : requirements.txt : cli.py : app.py : mlib.py :模型处理库htwtmlb.csv1 :用于输入缩放model.joblib : Dockerfile : Baseball_...
热门推荐 小程序 *** 作Mysql数据库
小程序的诞生,是移动应用的革命。下面是腾讯云服务器端配置:·Node.js 8.2.1·MySQL 5.7.18·Nginx 1.10.2新开发环境是 wafer2,这种架构使后台开发更方便。数据库用Mysq...
继续访问
微信小程序实战之菜谱小程序
最近突发奇想,想要自己搞个小程序玩儿玩儿,但是鉴于自己是搞后端服务器出身,对于偏前端的微信小程序开发实在是一知半解,尤其是对于css类样式相关,更是无从下手,于是乎,只能从晚上找了一个demo,对其进行了一番改造,然后进行上线,也算是基本完整的走了一遍小程序开发的简单流程,本篇文章就是对这次实践的简单介绍。 先放个二维码压压惊~ 原文地址:http://www.darylliu.cn/arch...
继续访问
菜鸟的 PHP 学习之路(三):一个简单的连接数据库并查询的小程序(1)
上一篇文章已经写了一个简单的 Hello World 程序了,好吧,其实那不是我的第一个 PHP 程序,我的第一个程序是简单地连接数据库的(我不会介绍 PHP 语法的,至少不会专门去介绍,免得误人子弟,要看语法介绍的自行上 W3CSchool 这个网站),话不多说,直接开始吧! 既然要连接数据库,那么肯定要有数据库和数据库表啦,Appserv 已经集成了 MySQL 这款开源的数据库了,我们可以
继续访问
菜谱小程序_云应用程序食谱
这些年来,模式在软件开发,体系结构和 *** 作中的价值已得到广泛记录。 例如,TOGAF中的 The Open Group的Architecture模式讨论,以及Kyle Brown在运行时模式上下文中的所有级别的Patterns讨论。 在本文中,您将学习一种称为食谱的新型模式。 您可以使用配方来评估候选应用程序以迁移到云或在云中实施。 这些应用程序可以专门在云中或在混合模型中运行,其中某些组件...
继续访问
使用python获取菜谱图文
今天学习了python爬虫,刚好老婆想下载一些菜谱图片,就改了改网上的代码,试着抓了一下,把菜谱的步骤打印出来,图片保存到桌面上。 # -*- conding:utf-8 -*- import re import urllib def getHtml(url): page = urllib.urlopen(url) html = page.read() retu
继续访问
MS3-CookBook:这是一本在线食谱
要运行后端Python文件,请输入python3 app.py ,如果您的Python文件当然名为app.py 应该会出现一个蓝色按钮,以单击: “公开” , 应该出现另一个蓝色按钮,以单击:打开浏览器。 在Gitpod中,默认情况下,您具有...
cookbook:Cookbook是一个社区驱动的食谱数据库,它使用户能够注册,提交食谱,搜索社区食谱以及搜索更大的第三方数据库
描述Cookbook是一个社区驱动的食谱数据库,它使用户能够注册,提交食谱,搜索社区食谱以及搜索更大的第三方数据库。 食谱跳过了不必要的部分,并提供了直接的食谱,包括名称、照片、成分和说明。 没有填充物,不需要...
infinite-cookbook:一个分享食谱的新项目!
无限食谱一个分享食谱的新项目!
微信小程序入门Cookbook-1(不定期更新)
微信小程序开发,微信小程序开发入门,快速开始微信小程序开发,微信小程序入门指引
继续访问
ntu-cookbook:一个开源项目,汇集了各种烹饪食谱,方法和技术
是否在寻找可以存放各种学生食谱的地方? 好吧,你已经找到了! 这是一个开源项目,由我们的成员之一。 该项目的灵感来自项目。 该项目和回购的目的是汇编... 创建一个以您的食谱命名的新分支( git checkout -b [br
cookbook:一个使用Ruby MVC表示食谱的简单应用
cookbook:一个使用Ruby MVC表示食谱的简单应用
grunt_cookbook:这是一本食谱,可用于从 Chef 中安装和运行 grunt 任务
这是一本食谱,可用于安装 grunt 并从 Chef 中运行 grunt 任务。 如果您的主厨节点已经安装了 nodejs 和 npm 包括 grunt_cookbook:install_grunt_cli 配方并在 Gruntfile 和 package.json 文件所在的目录中执行 ...
cookbook:这是一个谷歌浏览器扩展,它试图将美国单位转换为欧洲单位
食谱翻译器 This is still in alpha. At the moment it translates all websites automatically. In future releases I will include a whitelist for websites so we won't break functionality on websites. 这是...
thecookbook:免费、开源的食谱跟踪应用程序
免费的开源食谱跟踪应用程序。 在查看它的实际效果 特征 快速创建自己的食谱 成分和说明的简化格式(降价) 标记食谱以进行快速分类 “叉”一个你想改变的食谱 上传熟食谱的照片 开发商 我总是很高兴收到拉取请求,...
最新发布 wordpress-cookbook:只是另一本给厨师的 wordpress 食谱。 这本食谱支持多个 WordPress 安装
只是另一本 WordPress 食谱。 这本食谱支持多个 WordPress 安装。 要求 食谱 易于 阿帕奇2 php mysql 数据库 平台 Ubuntu 12.04 Ubuntu 14.04(也许) 属性 wordpress::默认 钥匙 类型 描述 默认 [:wordpress][:...
axoniq-cookbook:食谱食谱如何准备Axon应用程序
食谱模板在/recipes是一个名为0_asciidoc_axon_cookbook_template.md的文件,其中包含每个配方的模板。 如果您更改模板中的某些内容,请确保每个配方仍在相应地起作用。命名请命名食谱,包括问题的编号。 因此,例如...
Python cookbook(数据结构与算法)根据字段将记录分组 *** 作示例
主要介绍了Python cookbook(数据结构与算法)根据字段将记录分组 *** 作,结合实例形式分析了itertools.groupby()函数针对字典进行分组 *** 作的相关实现技巧,需要的朋友可以参考下.
python-click-cli-cookbook:一个包含食谱食谱的仓库,用于使用Python构建命令行工具Click
Python单击CLI食谱 一个包含食谱食谱的仓库,用于使用Python构建命令行工具Clic
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)