日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

华为Java机试题

發(fā)布時(shí)間:2024/1/8 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 华为Java机试题 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.程序?qū)崿F(xiàn)目標(biāo):?輸入一個(gè)字符串,將其各個(gè)字符對(duì)應(yīng)的ASCII值加5后,輸出結(jié)果。

??? 程序要求:該字符串只包含小寫字母,若其值加5后的字符值大于'z',將其轉(zhuǎn)換成從a開始的字符。

?

package com.xcbeyond;/*** @author xcbeyond* 2015-5-7下午10:37:43* 1.程序?qū)崿F(xiàn)目標(biāo): 輸入一個(gè)字符串,將其各個(gè)字符對(duì)應(yīng)的ASCII值加5后,輸出結(jié)果。* 程序要求:該字符串只包含小寫字母,若其值加5后的字符值大于'z',將其轉(zhuǎn)換成從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<str.length();i++){tmp = (char)(str.charAt(i)+5);if(tmp > 'z') {result.append('a');}else {result.append(tmp);}}return result.toString();}}

?

?

?

?

?

?

?

2.程序?qū)崿F(xiàn)目標(biāo):求一個(gè)整型數(shù)組中元素的平均值,并統(tǒng)計(jì)其中大于和小于此平均值的元素的個(gè)數(shù)。

? 程序要求:輸入:整型數(shù)組中的元素個(gè)數(shù)及各個(gè)元素。

???????? ? ? ? ? ? ? 輸出:整型數(shù)組中元素的平均值,大于和小于此平均值的元素的個(gè)數(shù)。

?

package com.xcbeyond;import java.util.Arrays;/*** * @author xcbeyond* 2015-5-7下午11:06:29*2.程序?qū)崿F(xiàn)目標(biāo):求一個(gè)整型數(shù)組中元素的平均值,并統(tǒng)計(jì)其中大于和小于此平均值的元素的個(gè)數(shù)。*程序要求:* 輸入:整型數(shù)組中的元素個(gè)數(shù)及各個(gè)元素。* 輸出:整型數(shù)組中元素的平均值,大于和小于此平均值的元素的個(gè)數(shù)。*/ public class CountAvg {public static void main(String[] args) {int[] array = {1,23,4,13,6};System.out.println(Arrays.toString(array)+"的平均值:"+avg(array)+"\n" +"大于和小于平均值元素的個(gè)數(shù)分別為:"+Arrays.toString(countAvg(array)));}public static int[] countAvg(int[] array) {int gt = 0; //grater thanint lt = 0; //less thanint[] result = {0,0};int average = avg(array);for(int i = 0;i<array.length;i++) {if(array[i]>average) {gt++;}else if(array[i]<average) {lt++;}}result[0] = gt;result[1] = lt;return result;}/*** average* @param array* @return*/public static int avg(int[] array) {int average = 0;int sum = 0;for(int i = 0 ;i<array.length;i++) {sum += array[i];}average = sum/array.length;return average;}}

?

?

?

?

?

3、手動(dòng)輸入一個(gè)存儲(chǔ)整數(shù)的數(shù)組,要求輸出數(shù)組里面的2個(gè)最大值。

?? 實(shí)例:?

???????????? 輸入:1,2,5,9,84,3,2

???????????? 輸出:84,9

?

package com.xcbeyond;import java.util.Arrays; /*** @author <span style="font-family:Calibri;">xcbeyond</span>* 2015-5-7下午11:35:13*3、手動(dòng)輸入一個(gè)存儲(chǔ)整數(shù)的數(shù)組,要求輸出數(shù)組里面的2個(gè)最大值。* 實(shí)例: * 輸入:1,2,5,9,84,3,2* 輸出:84,9*/ public class FindMaxTwoNum {public static void main(String[] args) {int[] array = {1,2,5,9,84,3,2};System.out.println("數(shù)組"+Arrays.toString(array)+"里面最大的2個(gè)數(shù)為:");findMaxTwoNum(array); <span style="font-family:Calibri;"> //方法二:// </span>?}public static void findMaxTwoNum(int[] array) {int[] result = {0,0};for(int i = 0 ;i<array.length;i++) {for(int j = 0;j<array.length-i-1;j++) {if(array[j]<array[j+1]) {int tmp;tmp = array[j];array[j] = array[j+1];array[j+1] = tmp;}}}System.out.println(array[0]+"、"+array[1]);}}

?

?

?

?

?

4、回文數(shù)字判斷。

題目描述:

??? 有這樣一類數(shù)字,他們順著看和倒著看是相同的數(shù),例如:121,656,2332等,這樣的數(shù)字就稱為:回文數(shù)字。編寫一個(gè)函數(shù),判斷某數(shù)字是否是回文數(shù)字。

??? 要求實(shí)現(xiàn)方法:

public?String?isPalindrome(String?strIn);

【輸入】strIn:?整數(shù),以字符串表示;

【返回】true:?是回文數(shù)字;

????????????? false:?不是回文數(shù)字;

?

【注意】只需要完成該函數(shù)功能算法,中間不需要有任何IO的輸入輸出

package com.xcbeyond;import java.util.Scanner;/*** @author xcbeyond* 2015-5-10下午03:46:56*4、回文數(shù)字判斷。*題目描述:* 有這樣一類數(shù)字,他們順著看和倒著看是相同的數(shù),例如:121,656,2332等,這樣的數(shù)字就稱為:* 回文數(shù)字。編寫一個(gè)函數(shù),判斷某數(shù)字是否是回文數(shù)字。*/ public class IsPalindrome {public static void main(String[] args) {System.out.print("請(qǐng)輸入一個(gè)回文數(shù)字:");Scanner console = new Scanner(System.in);String numStr = console.nextLine();if(isPalindrome(numStr)) {System.out.println(numStr+"是回文數(shù)字!");}else{System.out.println(numStr+"不是回文數(shù)字!");}}public static boolean isPalindrome(String str){boolean result = false;for(int i = 0 ;i<=str.length()/2-1;i++) {if(str.charAt(i) == str.charAt(str.length()-1-i)) {result = true;}else {result = false;}}return result;}}

?

?

?

?

?

?

?

5、要求:隨機(jī)打印50個(gè)隨機(jī)(4-10長(zhǎng)度)的字符串,要求字符串包含的范圍是所有的英文字母包含大小寫和數(shù)字,按照編碼順序排序,每行打印4個(gè),要求首字符對(duì)齊

?

package com.xcbeyond;import java.util.HashSet; import java.util.Set;/*** * @author xcbeyond* 2015-5-10下午04:05:42*5、要求:隨機(jī)打印50個(gè)隨機(jī)(4-10長(zhǎng)度)的字符串,要求字符串包含的范圍是* 所有的英文字母包含大小寫和數(shù)字,按照編碼順序排序,每行打印4個(gè),要求首字符對(duì)齊*/ public class RandomStr {public static void main(String[] args) {Set<String> setStr = new HashSet<String>();for(int i = 0 ;i<50;i++) {setStr.add(randomStr(5));}int count = 1;for(String i:setStr){System.out.print(i+" ");if(count%4 == 0) {System.out.println();}count++;}}/*** @param strLen:隨機(jī)字符串的長(zhǎng)度*/public static String randomStr(int strLen) {char[] str = new char[strLen];int i = 0;while(i<strLen) {int f = (int)Math.random()*3;if(f == 0) {str[i] = (char)('a' + Math.random()*26);}else if(f == 1) {str[i] = (char)('A' + Math.random()*26);}else {str[i] = (char)('0' + Math.random()*10);}i++;}return new String(str);} }

?

?

?

?

?

?

?

6.手動(dòng)輸入一個(gè)字符串,僅限小寫字母,統(tǒng)計(jì)并輸出每個(gè)字符在字符串中出現(xiàn)的次數(shù),并輸出。提示(可以用Map)

實(shí)例:

輸入:aaabbbccc

輸出:a?3

?????????? b?3

??? ? ? ?? c?3

?

package com.xcbeyond;import java.util.HashMap; import java.util.Map;/*** * @author xcbeyond* 2015-5-10下午04:47:45* 6.手動(dòng)輸入一個(gè)字符串,僅限小寫字母,統(tǒng)計(jì)并輸出每個(gè)字符在字符串中出現(xiàn)的次數(shù),并輸出。* 提示(可以用Map)* 實(shí)例:* 輸入:aaabbbccc* 輸出: a 3* b 3* c 3*/ public class GetCharCount {public static void main(String[] args) {String str = "aaabbbrcc";String reg = "^[a-z]*$";if (str.matches(reg)) {Map<Character, Integer> map = getCharCount(str);for (Map.Entry<Character, Integer> e : map.entrySet()) {System.out.println(e.getKey() + ": " + e.getValue());}}else {System.out.println("輸入的字符不合法,不是小寫字母");}}public static Map<Character,Integer> getCharCount(String str) {Map<Character,Integer> map = new HashMap<Character, Integer>();char[] arr = str.toCharArray();for(int i = 0;i<str.length();i++) {if(!map.containsKey(arr[i])) {map.put(arr[i], new Integer(1));}else {map.put(arr[i],map.get(arr[i])+1);}}return map;} }

?

?

?

?

?

?

7、要求實(shí)現(xiàn)方法public?String?addTwoBigNumber(String?s1,string?s2)

?大數(shù)相加,注意處理異常

?

public?class?Test{

public?String?addTwoBigNumber(String?s1,string?s2)

{

????return?"";

}

?

public?static?void?main(String[]?args)

{

?????Test?test?=?new?Test();

?????test.addTwoBigNumber("123456789","987654321")

?

}

}

?

8、比較二維數(shù)組列最小值,組成一個(gè)新數(shù)組返回。(實(shí)現(xiàn)核心算法,不需要使用IO)

輸入:intArr?=?{{5,6,1,16},{7,3,9}}

輸出:intArrs?={1,3}

?

package com.xcbeyond;import java.util.Arrays;/*** @author xcbeyond* 2015-5-10下午09:09:20*8、比較二維數(shù)組列最小值,組成一個(gè)新數(shù)組返回。(實(shí)現(xiàn)核心算法,不需要使用IO)* 輸入:intArr = {{5,6,1,16},{7,3,9}}* 輸出:intArrs ={1,3}*/ public class GetColMin {public static void main(String[] args) {int[][] arr = {{5,6,1,16},{7,3,9}};System.out.println(Arrays.toString(getColMin(arr)));}public static int[] getColMin(int[][] arr) {int[] minArr = new int[arr.length];for(int i = 0;i<arr.length;i++) {int[] tmp = arr[i];Arrays.sort(tmp);minArr[i] = tmp[0];}return minArr;}}

?

?

?

?

?

9.?輸入:a?aa,cat?tiger.123dd?

輸出:?tiger

功能描述:鍵盤輸入一句話

???????????????輸出一句話中最常的單詞,如果最長(zhǎng)的出現(xiàn)多次,返回第一個(gè)。

???????????????這句話只包含數(shù)字字母和標(biāo)點(diǎn)。

?

package com.xcbeyond;import java.util.ArrayList; import java.util.Scanner;/*** * @author xcbeyond* 2015-5-10下午09:45:03*9. 輸入:a aa,cat tiger.123dd * 輸出: tiger* 功能描述:鍵盤輸入一句話* 輸出一句話中最常的單詞,如果最長(zhǎng)的出現(xiàn)多次,返回第一個(gè)。* 這句話只包含數(shù)字字母和標(biāo)點(diǎn)。*/ public class GetLongString {public static void main(String[] args) {System.out.println("請(qǐng)輸入一句話:");Scanner console = new Scanner(System.in);String str = console.nextLine();System.out.println("最長(zhǎng)的單詞為:"+getLongString(str));}public static String getLongString(String str) {String[] wordStr = str.split("[ ,.0-9]");int sum = 0;ArrayList<String> result = new ArrayList<String>();for(int i = 0;i<wordStr.length;i++) {if(sum<wordStr[i].length()) {sum = wordStr[i].length();result.add(wordStr[i]);}}return result.get(result.size()-1);}}

?

?

?

?

?

?

?

10.?功能描述:將字符串中的字母全部替換成字母的下一個(gè)字母,

要是最后一位是z或Z則替換為a或A。

輸入:aBxyZ

輸出:bCyzA

?

package com.xcbeyond; /*** * @author xcbeyond* 2015-5-10下午10:11:02*10. 功能描述:* 將字符串中的字母全部替換成字母的下一個(gè)字母,要是最后一位是z或Z則替換為a或A。* 輸入:aBxyZ* 輸出:bCyzA*/ public class NextString {public static void main(String[] args) {String str = "aBxyZ";System.out.println(nextString(str));}public static String nextString(String str) {String result = "";char[] arr = str.toCharArray();for(int i = 0;i<arr.length;i++) {if(arr[i] == 'z' || arr[i] == 'Z') {arr[i] = (char)(arr[i]-25);}else if(arr[i]<='z'&&arr[i]>='a' || arr[i]<='Z'&&arr[i]>='A') {arr[i] = (char)(arr[i]+1);}}return String.valueOf(arr);}}

?

?

?

?

?

?

?

11.?功能描述:判斷一個(gè)字符串中是否只含有相同的子字符串(子串長(zhǎng)度>=2)

輸入:abab?

返回:true

輸入:abcd

返回:false

?

要求實(shí)現(xiàn)方法:

public?boolean?checkString(String?data)

{

????//TODO

????return?false;

}

12.?功能描述:已知:yi?er?san?si?wu?liu?qi?ba?jiu?分別對(duì)應(yīng)123456789,

對(duì)一段只含有這幾種字符串的字符串進(jìn)行轉(zhuǎn)換,如:

輸入:yiersansan

輸出:1233

要求實(shí)現(xiàn)方法:

public?String?trunNumber(String?data)

{

????//TODO

????return?"";

}

13.?功能描述:刪除字符串中字符個(gè)數(shù)最少的字符,最少字符串有多個(gè),最少的要全部刪除

???????????????然后返回該子字符串。

輸入:asdasdas

輸出:asasas

package com.xcbeyond;import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry;/*** * @author xcbeyond* @date 2015/05/11 13:16:06*/ public class DeleteLittle {public static void main(String[] args) {String str = "asdasdas";System.out.println(deleteLittle(str));}public static String deleteLittle(String str) {Map<Character,Integer> map = new HashMap<Character,Integer>();char[] ch = str.toCharArray();for(int i = 0;i<ch.length;i++) {if(!map.containsKey(ch[i])){map.put(ch[i], 1);}else {map.put(ch[i], map.get(ch[i])+1);}}List<Map.Entry<Character,Integer>> list = new ArrayList<Map.Entry<Character,Integer>>(map.entrySet());Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>(){@Overridepublic int compare(Entry<Character, Integer> o1,Entry<Character, Integer> o2) {return o1.getValue().compareTo(o2.getValue());}});String[] s = str.split(list.get(0).getKey().toString());StringBuffer sb = new StringBuffer();for(int i = 0;i<s.length;i++) {sb.append(s[i]);}return sb.toString();} }


?

14.?功能描述:找出一個(gè)int[]中滿足?2^n的數(shù)字,然后組成的新的數(shù)組

輸入:{4,3,8}

輸出:{4,8}

?

package com.xcbeyond;import java.util.ArrayList; import java.util.Arrays; import java.util.List;/*** * @author xcbeyond* @date 2015/05/11 14:04:43*/ public class NextString {public static void main(String[] args) {int[] arr = {4,3,8};System.out.println(Arrays.toString(nextString(arr)));}public static int[] nextString(int[] arr) {List<Integer> list = new ArrayList<Integer>();for(int i = 0;i<arr.length;i++) {int tmp = arr[i];while(tmp != 2) {if(tmp%2==0) {tmp = tmp/2;}else{break;}}if(tmp == 2) {list.add(arr[i]);}}int[] resultArr = new int[list.size()];for(int i = 0;i<list.size();i++) {resultArr[i] = list.get(i);}return resultArr;} }

?

15.?

功能描述:共data1個(gè)人,圍成一圈,然后標(biāo)號(hào),從1-data1。

?????????????????然后從data2號(hào)開始從1報(bào)數(shù),報(bào)3的出列,求出列序列。

????????????????返回一個(gè)數(shù)組

如:

輸入:3,2

輸出:1,2,3

要求實(shí)現(xiàn)方法:

/**

?*?data1:人數(shù)

?*?data2?:?起始位置

?*

?*/

public?int[]?circleOut(int?data1,int?data2)

{

?????int?outNum?=?3;

????//TODO

????return?null;

}

16.?功能描述:統(tǒng)計(jì)一個(gè)數(shù)字轉(zhuǎn)為二進(jìn)制后,0和1的個(gè)數(shù),組成數(shù)組返回

輸入:6

輸出:{1,2}

?

package com.xcbeyond;import java.util.Arrays; import java.util.HashMap; import java.util.Map;/*** @author xcbeyond* @date 2015/05/11 14:32:46*/ public class IntParseBinary {public static void main(String[] args) {int data = 6;System.out.println(Arrays.toString(getNumber(data)));}public static int[] getNumber(int data) {char[] binaryStr = Integer.toBinaryString(data).toCharArray();Map<Character,Integer> map = new HashMap<Character,Integer>();for(int i = 0;i<binaryStr.length;i++) {if(!map.containsKey(binaryStr[i])) {map.put(binaryStr[i], 1);}else{map.put(binaryStr[i], map.get(binaryStr[i])+1);}}return new int[]{map.get('0'),map.get('1')};}}

?

17.?功能描述:對(duì)一個(gè)二進(jìn)制數(shù)的每位進(jìn)行0和1反轉(zhuǎn),求翻轉(zhuǎn)后的二進(jìn)制所對(duì)應(yīng)的十進(jìn)制

輸入:1010

輸出:5

?

package com.xcbeyond;/*** * @author xcbeyond* @date 2015/05/11 15:01:03*/ public class BitReverse {public static void main(String[] args) {String data = "1010";System.out.println(getNumber(data));}public static String getNumber(String data){char[] dataStr = data.toCharArray();for(int i = 0;i<dataStr.length;i++) {if(dataStr[i] == '0') {dataStr[i] = '1';}else {dataStr[i] = '0';}}String str = "";for(int i = 0 ;i<dataStr.length;i++) {str += dataStr[i];}String res = Integer.valueOf(str, 2).toString();return res;}}

?

18.?功能描述:判斷一個(gè)字符串中的"(?)"是否配對(duì)

輸入:if(a.equals(a))

輸出:true

?

package com.xcbeyond; /*** @author xcbeyond* @date 2015/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();int count = 0;for(int i = 0 ;i<ch.length;i++) {if(ch[i] == '(') {count++;}else if(ch[i] == ')') {count--;}}if(count == 0) {isMatch = true;}return isMatch;}}

?

19.?功能描述:查找一個(gè)字符串的子字符串集

輸入:abab

輸出:a?b?ab?ba?aba?bab?

?

要求實(shí)現(xiàn)方法:

public?List<String>?getChildren(String?data)

{

????List<String>?list?=?new?ArrayList<String>();

????//TODO

????return?list;

}

20.?功能描述:數(shù)組的循環(huán)移位,

輸入:{a,b,c},2

輸出:{b,c,a}?

?

要求實(shí)現(xiàn)方法:

/**

?*data?:待循環(huán)數(shù)組

?*index:移動(dòng)位數(shù)

?*/

public?String[]?getChildren(String[]?data,int?index)

{

????//TODO

????return?null;

}

package com.xcbeyond;import java.util.Arrays;/*** @author xcbeyond* @date 2015/05/12 9:16:56*/ public class Demo20 {public static void main(String[] args) {String[] data = {"a","b","c"};System.out.println(Arrays.toString(getChildren(data,2)));}public static String[] getChildren(String[] data,int index){String[] resData = new String[data.length];for(int i = 0;i<resData.length-1;i++) {resData[i] = data[index-1+i];}resData[resData.length-1] = data[0];return resData;}}

?

21.?程序?qū)崿F(xiàn)目標(biāo):?輸入一個(gè)字符,將字符轉(zhuǎn)換為小寫,將其對(duì)應(yīng)的ASCII值加5后,輸出結(jié)果。

程序要求:若其值加5后的字符值大于'z',將其轉(zhuǎn)換成從a開始的字符。

輸入:‘A’

輸出:‘f’

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/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') {resCh = (char)(resCh - 26);}return resCh;}}

?

22.?要求:將一個(gè)二維數(shù)組進(jìn)行逆序,逆序后所有的元素行列不定,進(jìn)行隨機(jī)排列

①先把數(shù)組每一行逆序

②再把逆序后每一行進(jìn)行隨機(jī)排列

如:{{4,3,32,5},{1,2,3,4},{9,6,5,4}};

?4 6 5 9
 3 4 2 1
 5 4 32 3

package com.xcbeyond;import java.util.Random;/*** * @author xcbeyond* @date 2015/05/12 9:55:26*/ public class Demo22 {public static void main(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<arr2.length;i++) {for(int j = 0;j<arr2[i].length;j++) {System.out.print(arr2[i][j]+" ");}System.out.println();}}public static int[][] arrRandomReverse(int[][] arr) {int[][] resArr = new int[arr.length][];for(int i = 0 ;i<arr.length;i++) {resArr[arr.length-1-i] = arr[i];}Random r = new Random();for(int i = 0 ;i<resArr.length;i++) {for(int j = 0;j<resArr[i].length;j++) {int p = r.nextInt(resArr[i].length);int tmp;tmp = resArr[i][j];resArr[i][j] = resArr[i][p];resArr[i][p] = tmp;}}return resArr;} }

?

23.?根據(jù)輸入m數(shù)據(jù),找出str的m個(gè)字符的所有字符串

例如"abc"?m=2

"ab"?"ac"?"bc"

"abcd"?m=3

"abc"?"acd"?"bcd"?"abd"

public?ArrayList<String>?perenum(String?str,int?m)

{

?

???return?null;

}

24.?分解質(zhì)因數(shù)

eg:輸入?28

輸出?2*2*7

25.n個(gè)長(zhǎng)度的字符串中取m個(gè)長(zhǎng)度的組合

26.?二維數(shù)組轉(zhuǎn)置

例:1?2?3

????4?5?6

轉(zhuǎn)置

????1?4

????2?5

?? 3?6

package com.xcbeyond; /*** @author xcbeyond* @date 2015/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<arr2.length;i++) {for(int j = 0;j<arr2[i].length;j++) {System.out.print(arr2[i][j]+" ");}System.out.println();}}public static int[][] arrayReverse(int[][] arr) {int[][] resArr = new int[arr[0].length][arr.length];for(int i = 0;i<resArr.length;i++) {for(int j = 0;j<resArr[i].length;j++) {resArr[i][j] = arr[j][i];}}return resArr;}}

?

27.?功能描述:輸入字符串,將該字符串中數(shù)字放到非數(shù)字的后面,并保持原有順序不變。

例如:h3a2p0p1y----------happy3201

public?String??childStr(String?inputStr){

}

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/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]";String strRegex = "[a-zA-Z]";for(int i = 0;i<inputStr.length();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.?輸入一個(gè)身份證號(hào)碼(15位和18位)和一個(gè)年份,計(jì)算現(xiàn)在的年齡(忽略非法參數(shù))

eg:610618199001020065??2011

輸出:21

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/05/12 11:14:56*/ public class Demo28 {public static void main(String[] args) {String id = "610618199001020065";System.out.println(countAge(id,2011));}public static int countAge(String ID,int date) {String birthDate = "";if(ID.length() == 15) {birthDate = ID.substring(3, 7);}else if(ID.length() == 18) {birthDate = ID.substring(6, 10);}int age = 0;age = date - Integer.parseInt(birthDate);return age;}}

29.?輸入一個(gè)字符串,如果是小寫則轉(zhuǎn)換成相應(yīng)的大寫字母的后五位,如果是VWXYZ則轉(zhuǎn)換成abcde,其他的都不變,例如:“aDsR154+-/.”則應(yīng)該輸出為“FDXR154+-/.”

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/05/12 13:39:20*/ public 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<str.length();i++) {if(str.charAt(i)>='a' && str.charAt(i)<='z') {tmp =(char)(Character.toUpperCase(str.charAt(i))+5);if(tmp > 'Z') {tmp = (char)(tmp - 26);}sb.append(tmp);}else {sb.append(str.charAt(i));}}return sb.toString();}}

?

30.?字母轉(zhuǎn)換(完成給出類中的方法):

要求:

?1、傳入大寫字母,返回小寫字母。

?2、返回的小寫字母應(yīng)為該大寫字母對(duì)應(yīng)的小寫字母后第五個(gè)小寫字母,

??例:出入'A',則返回f.

?3、若按2中的要求返回的字母超過z,則超過1返回a,超過2返回b,依次類推;

public?class?test{

??public?static?void?main(String[]?args)

?{

???//可寫測(cè)試代碼??

?}

???//需要完成的方法

??public?char?upperToLower(char?upperCase)

??{

?????//完成代碼

??}

}

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/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 = 'a';resCh = (char)(Character.toLowerCase(upperCase) + 5);if(resCh > 'z') {resCh = (char)(resCh - 26);}return resCh;} }

?

31.?刪除一個(gè)字符串里出現(xiàn)次數(shù)最多的子字符串

如果有多個(gè)出現(xiàn)次數(shù)相同的并且出現(xiàn)次數(shù)最多則將多個(gè)全部刪除比如abbccd得到結(jié)果?ad

32.?判斷字符串首字母就大寫,非首字母小寫

1、如輸入?Good?返回?TRUE

2、過程中不需要輸出任何IO流。

33.?將一個(gè)英文語(yǔ)句以單詞為單位逆序排放。例如“I?am?a?boy”,逆序排放后為“boy?a?am?I”

所有單詞之間用一個(gè)空格隔開,語(yǔ)句中除了英文字母外,不再包含其他字符

接口說明

/**

?*?反轉(zhuǎn)句子

?*?

?*?@param?sentence?原句子

?*?@return?反轉(zhuǎn)后的句子

?*/

public?String?reverse(String?sentence);

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/05/12 14:23:12*/ public class Demo33 {public static void main(String[] args) {String str = "I am a boy";System.out.println(reverse(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(ch[i]+" ");}return sb.toString();}}

?

34.?題目背景

寫出一個(gè)程序,接受一個(gè)浮點(diǎn)數(shù)值,輸出該數(shù)值的近似整數(shù)值。如果小數(shù)點(diǎn)后數(shù)值大于等于5,向上取整;小于5,則向下取整

接口

int?round(double?d)

舉例

-4.5?四舍五入的結(jié)果是-4

4.4?四舍五入的結(jié)果是4

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/05/12 14:32:50*/ public class Demo34 {public static void main(String[] args) {double d = 3.65;System.out.println(round(d));}public static int round(double d) {String str = Double.toString(d);String subStr = str.substring(str.indexOf('.')+1, str.indexOf('.')+2);int a = Integer.parseInt(subStr);int res = 0;if(a <5) {res = (int)Math.floor(d);}else {res = (int)Math.ceil(d);}return res;}}

?

35.數(shù)列求和

編寫程序,輸入一個(gè)正整數(shù)n,求下列算式的值。要求定義和調(diào)用函數(shù)fact(k)計(jì)算k的階乘,函數(shù)返回值的類型是double。

1+1/2!+?....?+1/n!

輸出保留5位小數(shù)。

下面是一些合理的表達(dá)式的例子:

Input?????????5????????????????

Output??????1.71667???

package com.xcbeyond;public class Demo35 {public static void main(String[] args) {System.out.println(resutl(5));}public static double resutl(int n) {double res = 0.0;int i = 1;while(i<=n) {res += (double)1.0/fack(i);i++;}return res;}public static int fack(int k) {int result = 0;if(k == 1) {result = 1;}else {result = fack(k-1)*k;}return result;}}

?

36.?計(jì)算整數(shù)各個(gè)數(shù)位之和?

描述:?要求使用遞歸實(shí)現(xiàn),計(jì)算整數(shù)各個(gè)數(shù)位之和。

舉例:?123?-->?1+2+3?=?6

運(yùn)行時(shí)間限制:?無限制?

內(nèi)存限制:?無限制?

輸入:?0xff?ff?ff?ff以內(nèi)的整數(shù)

輸出:?NA

樣例輸入:?123?

樣例輸出:?6?

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/05/12 15:23:16*/ public class Demo36 {public static void main(String[] args) {int num = 123;System.out.println(bitSum(num));}public static int bitSum(int num) {int res = 0;if(num<10) {res = num;}else {res = num%10 + bitSum(num/10);}return res;} }

37.提取不重復(fù)的整數(shù)?

描述:?輸入一個(gè)int型32位整數(shù),按照從右向左的閱讀順序,返回一個(gè)不含重復(fù)數(shù)字的新的整數(shù)。

運(yùn)行時(shí)間限制:?10?Sec?

內(nèi)存限制:?無限制?

輸入:?整數(shù),如9876673

注意:

1、整數(shù)最后的0,請(qǐng)忽略,例如:輸入1750,輸出:571

2、負(fù)數(shù),保留'-'在前面,例如:輸入-175,輸出:-571

輸出:?整數(shù),如37689

樣例輸入:?9876673?

樣例輸出:?37689??

package com.xcbeyond; /*** * @author xcbeyond* @date 2015/05/12 15:50:34*/ public class Demo37 {public static void main(String[] args) {int num = -12310;System.out.println(getConvertInt(num));}public static int getConvertInt(int num) {String str = String.valueOf(num);StringBuffer sb = new StringBuffer();boolean flg = true;if(str.charAt(0) == '-') {flg = false;sb.append(str.charAt(0));}if(str.charAt(str.length()-1) != '0') {sb.append(str.charAt(str.length()-1));}for(int i = str.length()-2;i>0;i--) {sb.append(str.charAt(i));}if(flg) {sb.append(str.charAt(0));}return Integer.parseInt(sb.toString());} }

歡迎微信掃碼下面二維碼,關(guān)注微信公眾號(hào)【程序猿技術(shù)大咖】,進(jìn)行更多交流學(xué)習(xí)!

總結(jié)

以上是生活随笔為你收集整理的华为Java机试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。