第一题:拼音转数字
输入是一个只包含拼音的字符串,请输出对应的数字序列。转换关系如下:
描述:      拼音        yi  er  san  si  wu  liu  qi  ba  jiu
      阿拉伯数字        1   2   3      4   5    6    7   8   9
输入字符只包含小写字母,所有字符都可以正好匹配

运行时间限制:无限制
内存限制:       无限制
输入:              一行字符串,长度小于1000
输出:              一行字符(数字)串
样例输入:       yiersansi
样例输出:       1234

总结几个用法:

1、区别char、String、Vector<>str; 字符‘’ 字符串“” 向量<>中是向量存的数据类型(动态存储)

2、最后打印的内容只能是char、String格式的,所以return的时候加上这句str.toString()表示将向量转换成String型;还有str.toArray转换成数组;

package t0806;

import java.util.Vector;

public class test2 {
public static void main(String[] args){
String str = "yiersansi";
String str2 = solve(str);
System.out.println("样本输出为:"+str2); }
public static String solve(String str2){
Vector<String> str3=new Vector<String>(); //new一个空的字符串型的向量
char ch[]=str2.toCharArray(); //将字符串转换成字符数组
int length=str2.length();
int k=0;
while(true){ // 习惯使用这种while。break放在内部,而不是放在括号里面,除非你非常清楚它的运行机制
if (ch[k]=='y'&&ch[k+1]=='i')
{str3.addElement("1");k=k+2;}
else if(ch[k]=='e'&&ch[k+1]=='r')
{str3.addElement("2");k=k+2;}
else if(ch[k]=='s')
{
if (ch[k+1]=='a'&&ch[k+2]=='n')
{str3.addElement("3");k=k+3;}
else if(ch[k+1]=='i')
{str3.addElement("4");k=k+2;}
}
else if(ch[k]=='w'&&ch[k+1]=='u')
{str3.addElement("5");k=k+2;}
else if(ch[k]=='l'&&ch[k+1]=='i'&&ch[k+2]=='u')
{str3.addElement("6");k=k+3;}
else if(ch[k]=='q'&&ch[k+1]=='i')
{str3.addElement("7");k=k+2;}
else if(ch[k]=='b'&&ch[k+1]=='a')
{str3.addElement("8");k=k+2;}
else if(ch[k]=='j'&&ch[k+1]=='i'&&ch[k+2]=='u')
{str3.addElement("9");k=k+3;} if (k>=length) //一旦超过
break;
}
return str3.toString(); // 将向量转成String形式的
} }

版本二:

增加手动输入字符串,enter按键输出结果:

package t0806;

import java.util.Scanner;
import java.util.Vector; public class test2 {
static String ss;
public static void main(String[] args){
System.out.println("请输入字符串:");
Scanner scStr = new Scanner(System.in);
ss = scStr.next(); //String str = "yiersansi";
String str2 = solve(ss);
System.out.println("样本输出为:"+str2); }
public static String solve(String str2){
Vector<String> str3=new Vector<String>();
char ch[]=str2.toCharArray();
int length=str2.length();
int k=0;
while(true){
if (ch[k]=='y'&&ch[k+1]=='i')
{str3.addElement("1");k=k+2;}
else if(ch[k]=='e'&&ch[k+1]=='r')
{str3.addElement("2");k=k+2;}
else if(ch[k]=='s')
{
if (ch[k+1]=='a'&&ch[k+2]=='n')
{str3.addElement("3");k=k+3;}
else if(ch[k+1]=='i')
{str3.addElement("4");k=k+2;}
}
else if(ch[k]=='w'&&ch[k+1]=='u')
{str3.addElement("5");k=k+2;}
else if(ch[k]=='l'&&ch[k+1]=='i'&&ch[k+2]=='u')
{str3.addElement("6");k=k+3;}
else if(ch[k]=='q'&&ch[k+1]=='i')
{str3.addElement("7");k=k+2;}
else if(ch[k]=='b'&&ch[k+1]=='a')
{str3.addElement("8");k=k+2;}
else if(ch[k]=='j'&&ch[k+1]=='i'&&ch[k+2]=='u')
{str3.addElement("9");k=k+3;} if (k>=length) //一旦超过
break;
}
return str3.toString();
} }

华为机试_字符串识别_Vector的使用;的更多相关文章

  1. 华为机试001:字符串最后一个单词的长度(华为OJ001)

    华为机试 字符串最后一个单词的长度 计算字符串最后一个单词的长度,单词以空格隔开. 提交网址: http://www.nowcoder.com/practice/8c949ea5f36f422594b ...

  2. 2014华为机试西安地区B组试题

    2014华为机试西安地区B组试题 题目一.亮着点灯的盏数 一条长廊里依次装有n(1≤n≤65535)盏电灯,从头到尾编号1.2.3.-n-1.n.每盏电灯由一个拉线开关控制.開始,电灯所有关着. 有n ...

  3. 2014华为机试西安地区A组试题

    2014华为机试西安地区A组试题 题目一.分苹果 M个同样苹果放到N个同样篮子里有多少种放法,同意有篮子不放. 1<=M<=10.1<=N<=10 比如5个苹果三个篮子,3,1 ...

  4. 华为机试ACM(字符组合问题)

    今晚做了华为的机试,3道ACM题,最后一道是实现从M个不同字符中任取N个字符的所有组合. eg: input:ABC 2 output:AB AC BC 第一个输入为字符串,第二个输入为组合的字符个数 ...

  5. 输入一个字符串,去掉重复的字符,并按ASCII值排序-华为机试

    import java.util.Scanner; //输入字符串,去掉重复的字符,并按ASSIC码值排序 public class quChong { public static void main ...

  6. (华为机试大备战)java。多了解了解最常用的那个类库的方法对处理字符串的方法

    1.常考字符串处理:对处理字符串的方法. (a)统计字符串中特定字符的个数. 2.郭靖考了一道二维数组?? 3.多了解了解最常用的那个类库的方法.

  7. 华为机试正式版(西安c/c++/java),今天下午去机试的题目,新奇出炉了!

    下面题目都是回顾的.题目都非常easy, 大家有些基础就能够參加!(语言能够是c/c++.也能够是java的) 题目一(60分): 字符串操作. 将小写转换成大写, 将大写转化为小写, 数字的不做转换 ...

  8. 华为机试 可怕的N阶乘

    题目标题: 计算阶乘n!是一件可怕的事情,因为当n并不是很大时,n!将是一个很大的值.例如13! = 6227020800,已经超过了我们常用的unsigned int类型的取值范围.请设计一个程序, ...

  9. 2015华为机试——数字基root

    题目描写叙述: 求整数的Root:给定正整数,求每位数字之和;假设和不是一位数,则反复; 输入:输入随意一个或多个整数 输出:输出各位数字之和,直到和为个位数为止(输入异常,则返回-1),多行,每行相 ...

随机推荐

  1. Qt on_pushButton_clicked()的用法【worldsing笔记】

    在Qt里按钮控件默认对应一个on_pushButton_clicked()成员,如果想用点击信号,在代码中实现on_pushButton_clicked()成员即可. 最近看了一段代码,里面并没有co ...

  2. 简单dp-poj-2231-Moo Volume

    题目链接: http://poj.org/problem?id=2231 题目大意: 给n个位置,求所有位置到其他n-1个位置的距离总和. 解题思路: 简单dp. o(n^2)的时间复杂度会超.先对这 ...

  3. android http 通信(httpclient 实现)

    1.httpclient get 方式 HttpGet httpGet = new HttpGet(url); HttpClient client = new DefaultHttpClient(); ...

  4. PowerDesigner 12.5 汉化破解完整版

    PowerDesigner 12.5 汉化破解完整版 分类: ⑦ 综合 2011-08-09 14:59 2979人阅读 评论(0) 收藏 举报 破解wizardsybasetoolsshell扩展 ...

  5. 流弊博客集锦(updating)

    1.http://ifeve.com/ 2.淘宝的 code project http://code.taobao.org/ http://blog.csdn.net/tenfyguo/article ...

  6. Sublime Text 超好用的侧栏插件SideBarEnhancements

    SideBarEnhancements插件有效地改进了Sublime Text的侧边栏.安装插件后在侧边栏上点击右键,可以找到一下新功能:在资源管理器中打开.新建文件.新建文件夹.以…打开.在浏览器中 ...

  7. C 队列顺序存储

    #ifndef __MY_SEQLIST_H__ #define __MY_SEQLIST_H__ typedef void SeqList; typedef void SeqListNode; // ...

  8. Hadoop可视化与交互式工具:Zeppelin和Hue

    https://yq.aliyun.com/articles/42282?spm=5176.team18.teamshow1.19.9TkKmZ#rd

  9. 面向对象的程序设计(二)理解各种方法和属性typeof、instanceof、constructor、prototype、__proto__、isPrototypeOf、hasOwnProperty

    //理解各种方法和属性typeof.instanceof.constructor.prototype.__proto__.isPrototypeOf.hasOwnProperty. //1.typeo ...

  10. PAT 1014

    1014. Waiting in Line (30) Suppose a bank has N windows open for service. There is a yellow line in ...