2015华为机试—— 字符变换

题目描述:

输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,若原始大写字母为V~Z, 则转换为对应小写字母的值减21。其他字符不变,输出转换后的字符串。 例如,对于字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b。

输入:字符串

输出:转换后的字符串

样例输入:Axs3mWss

样例输出:fxs3mbss

题目不难,直接看代码:

public class char_Change
{
	public static void main(String[] args)
	{
		Scanner sc=new Scanner(System.in);
		while (sc.hasNext())
		{
			String input=sc.nextLine();
			if (input==null)
			{
				return;
			}
			StringBuffer sb=new StringBuffer();
			for (int i = 0; i < input.length(); i++)
			{
				char ch=input.charAt(i);
				if (Character.isUpperCase(ch))
				{
					ch=Character.toLowerCase(ch);
					if (ch>='v'&&ch<='z')
					{
						sb.append((char)(ch-21));
					}
					else
					{
						sb.append((char)(ch+5));
					}
				}
				else
				{
					sb.append(ch);
				}
			}
			System.out.println(sb.toString());
		}
		sc.close();
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-17 08:49:58

2015华为机试—— 字符变换的相关文章

2015华为机试——将字符串中不同字符的个数打印出来

描述: 找出字符串中,不同的字符的个数. 题目类别: 字符串 难度: 初级 运行时间限制: 无限制 内存限制: 无限制 阶段: 入职前练习 输入: 输入一个字符串,'\0'作为字符串结束符. 输出: 输出字符串中不同字符的个数. 样例输入: 122345 样例输出: 5 代码如下: public class dayin_Char { public static void main(String[] args) { Scanner sc=new Scanner(System.in); while

2015华为机试

第一题(60分): 按要求分解字符串,输入两个数M,N:M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0.例如:输入2,8, "abc" ,"123456789",则输出为"abc00000","12345678","90000000" #include<iostream> using namespace std; void solve(char *str , int n , in

2015华为机试——最高分是多少

题目描述: 老师想知道从某某同学到某某同学当中,分数最高的是多少. 现在请你编程模拟老师的询问.当然,老师有时候需要更新某位同学的成绩. 题目类别: 排序 难度: 初级 运行时间限制: 无限制 内存限制: 无限制 阶段: 入职前练习 输入: 输入包含多组测试数据. 每组输入第一行是两个正整数N和M(0<N<=30000,0<M<5000),分表代表学生的数目和操作的数目. 学生ID编号从1编到N. 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩.

华为机试-字符串匹配

题目描述 题目标题: 判断短字符串中的所有字符是否在长字符串中全部出现 详细描述: 接口说明 原型: boolIsAllCharExist(char* pShortString,char* pLongString); 输入参数: char* pShortString:短字符串 char* pLongString:长字符串 输入描述: 输入两个字符串.第一个为短字符,第二个为长字符. 输出描述: 返回值: 示例1 输入 bc abc 输出 true Java程序实现: import java.ut

华为机试 — 字符统计

1.字符统计 如果统计的个数相同,则按照ASII码由小到大排序输出 .如果有其他字符,则对这些字符不用进行统计. 实现以下接口:    输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)    按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出    清空目前的统计结果,重新统计调用者会保证:输入的字符串以'\0'结尾. 输入描述:输入一串字符. 输出描述:对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到

2015华为机试——小明的筷子

题目描述: 小明是个马大哈,某天他到超市买了若干双筷子(n<20)筷子的长度不尽相同,他把全部筷子都放在购物袋里面拿回家,路上不小心漏了一根 请你用程序帮他找出是漏掉的筷子是多长的. 输入:  剩下的筷子数组,如:1, 2, 3, 2, 1, 3, 2 返回值:漏掉的筷子长度,如上述输入返回:2(当输入的筷子数据异常时返回-1,如:找不到漏掉的筷子) 解题思路:使用HashMap对筷子的种类与数量进行键值对匹配存储,当出现重复筷子时,对应的筷子数量+1,然后遍历一次HashMap,获取筷子的数量

2015华为机试——计算两个正整数的最大公约数和最小公倍数

题目描述: 接口说明 原型: long getMaxDivisor(long lFirstInput, long lSecondInput); 输入参数: int first: 第一个整数; int second: 第二个整数; 返回值: 最大公约数 long getMinMultiple(long lFirstInput, long lSecondInput); 输入参数: int first: 第一个整数; int second: 第二个整数; 返回值: 最小公倍数 解题思路:使用辗转相除法

2015华为机试——尼科彻斯定理

题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和.m属于[1,100],超出范围则报错. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 解题思路:不难发现展开式从(n*n - n + 1)开始,步进2显示,共显示n个数. 代码如下: public static void main(String[] args) { Scanner sc=new Scanner(System.in); while (sc.hasNext()

2015华为机试——整数分割

题目描述: 一个整数可以拆分为2的幂的和,例如: 7 = 1+ 2 + 4 7 = 1 + 2 + 2 + 2 7 = 1 + 1 + 1 + 4 7 = 1 + 1 + 1 + 2 + 2 7 = 1 + 1 + 1 + 1 + 1 + 2 7 = 1 + 1 + 1 + 1 + 1 + 1 + 1 总共有六种不同的拆分方式 再比如: 4可以拆分成: 4 = 4, 4 = 1+1+1+1, 4 = 2+2, 4 = 1+1+2. 用f(n)表示n的不同拆分的种数,例如f(7) = 6. 要求读