1、华为Java机试题锦集2021年华为Java机试题锦集2021年华为Java机试题锦集 Java对程序提供了安全管理器,防止程序的非法访问。下面是我收集的华为Java机试题,希望大家认真阅读! 1.程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。 程序要求:该字符串只包含小写字母,若其值加5后的字符值大于z,将其转换成从a开始的字符。 package com.xcbeyond; /* * author xcbeyond * 2021-5-7下午10:37:43 * 1.程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。 * 程序要求
2、:该字符串只包含小写字母,若其值加5后的字符值大于z,将其转换成从a开始的字符。 */ public class StringParseASCII public static void main(String args) System.out.print(stringParseASCII(abx); public static String stringParseASCII(String str) StringBuffer result = new StringBuffer(); char tmp; for(int i = 0;i int tmp = arri; Arrays.sort(tmp
3、); minArri = tmp0; return minArr; 9. 输入:a aa,cat tiger.123dd 输出: tiger 功能描述:键盘输入一句话 输出一句话中最常的单词,如果最长的出现多次,返回第一个。 这句话只包含数字字母和标点。 package com.xcbeyond; import java.util.ArrayList; import java.util.Scanner; /* * * author xcbeyond * 2021-5-10下午09:45:03 *9. 输入:a aa,cat tiger.123dd * 输出: tiger * 功能描述:键盘输入
4、一句话 * 输出一句话中最常的单词,如果最长的出现多次,返回第一个。 * 这句话只包含数字字母和标点。 */ public class GetLongString public static void main(String args) System.out.println(请输入一句话:); Scanner console = new Scanner(System.in); String str = console.nextLine(); System.out.println(最长的单词为:+getLongString(str); public static String getLongSt
5、ring(String str) String wordStr = str.split( ,.0-9); int sum = 0; ArrayList list = new ArrayList if(dataStri = 0) dataStri = 1; else dataStri = 0; String str = ; for(int i = 0 ;i str += dataStri; String res = Integer.valueOf(str, 2).toString(); return res; 18. 功能描述:判断一个字符串中的( )是否配对 输入:if(a.equals(a)
6、 输出:true package com.xcbeyond; /* * author xcbeyond * date 2021/05/11 15:50:39 */ public class IsMatch public static void main(String args) String str = if(a.equals(a); System.out.println(isMatch(str); public static boolean isMatch(String str) boolean isMatch = false; char ch = str.toCharArray(); in
7、t count = 0; for(int i = 0 ;i if(chi = () count+; else if(chi = ) count-; if(count = 0) isMatch = true; return isMatch; 19. 功能描述:查找一个字符串的子字符串集 输入:abab 输出:a b ab ba aba bab 要求实现方法: public List getChildren(String data) List list = new ArrayList(); /TODO return list; 20. 功能描述:数组的循环移位, 输入:a,b,c,2 输出:b,c
8、,a 要求实现方法: /* *data :待循环数组 *index:移动位数 */ public String getChildren(String data,int index) /TODO return null; package com.xcbeyond; import java.util.Arrays; /* * author xcbeyond * date 2021/05/12 9:16:56 */ public class Demo20 public static void main(String args) String data = a,b,c; System.out.prin
9、tln(Arrays.toString(getChildren(data,2); public static String getChildren(String data,int index) String resData = new Stringdata.length; for(int i = 0;i resDatai = dataindex-1+i; resDataresData.length-1 = data0; return resData; 21. 程序实现目标: 输入一个字符,将字符转换为小写,将其对应的ASCII值加5后,输出结果。 程序要求:若其值加5后的字符值大于z,将其转换
10、成从a开始的字符。 输入:A 输出:f package com.xcbeyond; /* * * author xcbeyond * date 2021/05/12 9:31:45 */ public class Demo21 public static void main(String args) System.out.println(parseChar(X); public static char parseChar(char ch) char resCh = a; resCh = (char)(Character.toLowerCase(ch) + 5); if(resCh z) res
11、Ch = (char)(resCh - 26); return resCh; 22. 要求:将一个二维数组进行逆序,逆序后所有的元素行列不定,进行随机排列 先把数组每一行逆序 再把逆序后每一行进行随机排列 如:4,3,32,5,1,2,3,4,9,6,5,4; 604 6 5 9 3 4 2 1 5 4 32 3 package com.xcbeyond; import java.util.Random; /* * * author xcbeyond * date 2021/05/12 9:55:26 */ public class Demo22 public static void main
12、(String args) int arr = 4,3,32,5,1,2,3,4,9,6,5,4; int arr2 = arrRandomReverse(arr); for(int i = 0;i for(int j = 0;j System.out.print(arr2ij+ ); System.out.println(); public static int arrRandomReverse(int arr) int resArr = new intarr.length; for(int i = 0 ;i resArrarr.length-1-i = arri; Random r = n
13、ew Random(); for(int i = 0 ;i for(int j = 0;j int p = r.nextInt(resArri.length); int tmp; tmp = resArrij; resArrij = resArrip; resArrip = tmp; return resArr; 23. 根据输入m数据,找出str的m个字符的所有字符串 例如abc m=2 ab ac bc abcd m=3 abc acd bcd abd public ArrayList perenum(String str,int m) return null; 24. 分解质因数 eg:
14、输入 28 输出 2*2*7 25.n个长度的字符串中取m个长度的组合 26. 二维数组转置 例:1 2 3 4 5 6 转置 1 4 2 5 3 6 package com.xcbeyond; /* * author xcbeyond * date 2021/05/12 10:56:04 */ public class Demo26 public static void main(String args) int arr = 4,3,32,5,1,2,3,4,9,6,5,4; int arr2 = arrayReverse(arr); for(int i = 0;i for(int j =
15、0;j System.out.print(arr2ij+ ); System.out.println(); public static int arrayReverse(int arr) int resArr = new intarr0.lengtharr.length; for(int i = 0;i for(int j = 0;j resArrij = arrji; return resArr; 27. 功能描述:输入字符串,将该字符串中数字放到非数字的后面,并保持原有顺序不变。 例如:h3a2p0p1y-happy3201 public String childStr(String in
16、putStr) package com.xcbeyond; /* * * author xcbeyond * date 2021/05/12 11:02:27 */ public class Demo27 public static void main(String args) String str = h3a2p0p1y; System.out.println(childStr(str); public static String childStr(String inputStr) String numStr = ; String str = ; String numRegex = 0-9;
17、 String strRegex = a-zA-Z; for(int i = 0;i if(inputStr.charAt(i)+).matches(numRegex) numStr += inputStr.charAt(i); else if(inputStr.charAt(i)+).matches(strRegex) str += inputStr.charAt(i); return str+numStr; 28. 输入一个身份证号码(15位和18位)和一个年份,计算现在的年龄(忽略非法参数) eg:610618199001020215 2021 输出:21 package com.xcb
18、eyond; /* * * author xcbeyond * date 2021/05/12 11:14:56 */ public class Demo28 public static void main(String args) String id = 610618199001020215; System.out.println(countAge(id,2021); public static int countAge(String ID,int date) String birthDate = ; if(ID.length() = 15) birthDate = ID.substring
19、(3, 7); else if(ID.length() = 18) birthDate = ID.substring(6, 10); int age = 0; age = date - Integer.parseInt(birthDate); return age; 29. 输入一个字符串,如果是小写则转换成相应的大写字母的后五位,如果是VWXYZ则转换成abcde,其他的都不变,例如:aDsR154+-/.则应该输出为FDXR154+-/. package com.xcbeyond; /* * * author xcbeyond * date 2021/05/12 13:39:20 */ p
20、ublic class Demo29 public static void main(String args) String str = aDsR154+-/.; System.out.println(parseStr(str); public static String parseStr(String str) StringBuffer sb = new StringBuffer(); char tmp; for(int i = 0;i if(str.charAt(i)=a str.charAt(i)=z) tmp =(char)(Character.toUpperCase(str.char
21、At(i)+5); if(tmp Z) tmp = (char)(tmp - 26); sb.append(tmp); else sb.append(str.charAt(i); return sb.toString(); 30. 字母转换(完成给出类中的方法): 要求: 1、传入大写字母,返回小写字母。 2、返回的小写字母应为该大写字母对应的小写字母后第五个小写字母, 例:出入A,则返回f. 3、若按2中的要求返回的字母超过z,则超过1返回a,超过2返回b,依次类推; public class test public static void main(String args) /可写测试代码
22、 /需要完成的方法 public char upperToLower(char upperCase) /完成代码 package com.xcbeyond; /* * * author xcbeyond * date 2021/05/12 14:05:49 */ public class Demo30 public static void main(String args) char ch = A; System.out.println(upperToLower(ch); public static char upperToLower(char upperCase) char resCh =
23、a; resCh = (char)(Character.toLowerCase(upperCase) + 5); if(resCh z) resCh = (char)(resCh - 26); return resCh; 31. 删除一个字符串里出现次数最多的子字符串 如果有多个出现次数相同的并且出现次数最多则将多个全部删除比如abbccd得到结果 ad 32. 判断字符串首字母就大写,非首字母小写 1、如输入 Good 返回 TRUE 2、过程中不需要输出任何IO流。 33. 将一个英文语句以单词为单位逆序排放。例如I am a boy,逆序排放后为boy a am I 所有单词之间用一个空
24、格隔开,语句中除了英文字母外,不再包含其他字符 接口说明 /* * 反转句子 * * param sentence 原句子 * return 反转后的句子 */ public String reverse(String sentence); package com.xcbeyond; /* * * author xcbeyond * date 2021/05/12 14:23:12 */ public class Demo33 public static void main(String args) String str = I am a boy; System.out.println(rev
25、erse(str); public static String reverse(String sentence) String regex = *; String ch = sentence.split(regex); StringBuffer sb = new StringBuffer(); for(int i=ch.length-1;i=0;i-) sb.append(chi+ ); return sb.toString(); 34. 题目背景 写出一个程序,接受一个浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整 接口 int round(double d) 举例 -4.5 四舍五入的结果是-4 4.4 四舍五入的结果是4 package com.xcbeyond; /* * * author xcbeyond * date 2021/05/12 14:32:50 */ public class Demo34 public static void main(String args) double d = 3.65; System.out.println(round(d);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1