博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第3章 结构之法——电话号码对应英语单词
阅读量:6075 次
发布时间:2019-06-20

本文共 2368 字,大约阅读时间需要 7 分钟。

电话号码对应英语单词

问题描述

分析与解法

详细代码如下:

1 package chapter3jiegouzhifa.TelephoneMapWords; 2 /** 3  * 电话号码对应英语单词 4  * @author DELL 5  * 6  */ 7 public class TelephoneMapWords1 { 8     private int telLength;  //电话号码的位数 9     private char c[][]={  //各个数字所能代表的字符10             "".toCharArray(),  //011             "".toCharArray(),    //112             "ABC".toCharArray(),    //213             "DEF".toCharArray(),    //314             "GHI".toCharArray(),    //415             "JKL".toCharArray(),    //516             "MNO".toCharArray(),    //617             "PQRS".toCharArray(),    //718             "TUV".toCharArray(),    //819             "WXYZ".toCharArray(),    //9            20     };21     private int total[]={0,0,3,3,3,3,3,4,3,4};  //每个数字所能代表的字符数22     private int number[]; //电话号码23     private int answer[];  //数字目前所代表的字符在其所能代表的字符集中的位置24     //构造函数25     public TelephoneMapWords1(int number[]){26         this.number = number;27         this.telLength = number.length;28         answer = new int[telLength];29     }30     //输出电话号码对应英语单词31     public void output(){32         while(true){33             for(int i=0;i
=0){38 if(answer[k]

【问题1的解法二】递归方法

   其实可以从循环算法中的n个for循环方法中得到提示,每层for循环,其实可以看成一个递归函数的调用。具体代码如下:

1 package chapter3jiegouzhifa.TelephoneMapWords; 2 /** 3  * 电话号码对应英语单词 4  * 【解法二】递归方法 5  * @author DELL 6  * 7  */ 8 public class TelephoneMapWords2 { 9     private int telLength;  //电话号码的位数10     private char c[][]={  //各个数字所能代表的字符11             "".toCharArray(),  //012             "".toCharArray(),    //113             "ABC".toCharArray(),    //214             "DEF".toCharArray(),    //315             "GHI".toCharArray(),    //416             "JKL".toCharArray(),    //517             "MNO".toCharArray(),    //618             "PQRS".toCharArray(),    //719             "TUV".toCharArray(),    //820             "WXYZ".toCharArray(),    //9            21     };22     private int total[]={0,0,3,3,3,3,3,4,3,4};  //每个数字所能代表的字符数23     private int number[]; //电话号码24     private int answer[];  //数字目前所代表的字符在其所能代表的字符集中的位置25     //构造函数26     public TelephoneMapWords2(int number[]){27         this.number = number;28         this.telLength = number.length;29         answer = new int[telLength];30     }31     //输出电话号码对应英语单词32     public void output(int index){33         if(index==telLength){34             for(int i=0;i

 

转载地址:http://pbxgx.baihongyu.com/

你可能感兴趣的文章
ylbtech-LanguageSamples-PartialTypes(部分类型)
查看>>
福建省促进大数据发展:变分散式管理为统筹集中式管理
查看>>
开发环境、生产环境、测试环境的基本理解和区别
查看>>
tomcat多应用之间如何共享jar
查看>>
Flex前后台交互,service层调用后台服务的简单封装
查看>>
MySQL入门12-数据类型
查看>>
Windows Azure 保留已存在的虚拟网络外网IP(云服务)
查看>>
修改字符集
查看>>
HackTheGame 攻略 - 第四关
查看>>
js删除数组元素
查看>>
带空格文件名的处理(find xargs grep ..etc)
查看>>
华为Access、Hybrid和Trunk的区别和设置
查看>>
centos使用docker下安装mysql并配置、nginx
查看>>
关于HTML5的理解
查看>>
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
dom4j解析xml文件
查看>>
第六周
查看>>