亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • 華為Java機試題

    時間:2024-09-04 04:25:34 SUN認(rèn)證 我要投稿
    • 相關(guān)推薦

    2017年華為Java機試題錦集

      Java對程序提供了安全管理器,防止程序的非法訪問。下面是小編收集的華為Java機試題,希望大家認(rèn)真閱讀!

    2017年華為Java機試題錦集

      1.程序?qū)崿F(xiàn)目標(biāo): 輸入一個字符串,將其各個字符對應(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): 輸入一個字符串,將其各個字符對應(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

      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):求一個整型數(shù)組中元素的平均值,并統(tǒng)計其中大于和小于此平均值的元素的個數(shù)。

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

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

      package com.xcbeyond;

      import java.util.Arrays;

      /**

      *

      * @author xcbeyond

      * 2015-5-7下午11:06:29

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

      *程序要求:

      * 輸入:整型數(shù)組中的元素個數(shù)及各個元素。

      * 輸出:整型數(shù)組中元素的平均值,大于和小于此平均值的元素的個數(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" +

      "大于和小于平均值元素的個數(shù)分別為:"+Arrays.toString(countAvg(array)));

      }

      public static int[] countAvg(int[] array) {

      int gt = 0; //grater than

      int lt = 0; //less than

      int[] result = {0,0};

      int average = avg(array);

      for(int i = 0;i

      if(array[i]>average) {

      gt++;

      }else if(array[i]

      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

      sum += array[i];

      }

      average = sum/array.length;

      return average;

      }

      }

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

      實例:

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

      輸出:84,9

      package com.xcbeyond;

      import java.util.Arrays;

      /**

      * @author xcbeyond

      * 2015-5-7下午11:35:13

      *3、手動輸入一個存儲整數(shù)的數(shù)組,要求輸出數(shù)組里面的2個最大值。

      * 實例:

      * 輸入: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個數(shù)為:");

      findMaxTwoNum(array);

       //方法二:

      //

       }

      public static void findMaxTwoNum(int[] array) {

      int[] result = {0,0};

      for(int i = 0 ;i

      for(int j = 0;j

      if(array[j]

      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ù)字。編寫一個函數(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ù)字。編寫一個函數(shù),判斷某數(shù)字是否是回文數(shù)字。

      */

      public class IsPalindrome {

      public static void main(String[] args) {

      System.out.print("請輸入一個回文數(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

      if(str.charAt(i) == str.charAt(str.length()-1-i)) {

      result = true;

      }

      }

      return result;

      }

      }

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

      package com.xcbeyond;

      import java.util.HashSet;

      import java.util.Set;

      /**

      *

      * @author xcbeyond

      * 2015-5-10下午04:05:42

      *5、要求:隨機打印50個隨機(4-10長度)的字符串,要求字符串包含的范圍是

      * 所有的英文字母包含大小寫和數(shù)字,按照編碼順序排序,每行打印4個,要求首字符對齊

      */

      public class RandomStr {

      public static void main(String[] args) {

      Set setStr = new HashSet();

      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:隨機字符串的長度

      */

      public static String randomStr(int strLen) {

      char[] str = new char[strLen];

      int i = 0;

      while(i

      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.手動輸入一個字符串,僅限小寫字母,統(tǒng)計并輸出每個字符在字符串中出現(xiàn)的次數(shù),并輸出。提示(可以用Map)

      實例:

      輸入: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.手動輸入一個字符串,僅限小寫字母,統(tǒng)計并輸出每個字符在字符串中出現(xiàn)的次數(shù),并輸出。

      * 提示(可以用Map)

      * 實例:

      * 輸入: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 map = getCharCount(str);

      for (Map.Entry e : map.entrySet()) {

      System.out.println(e.getKey() + ": " + e.getValue());

      }

      }else {

      System.out.println("輸入的字符不合法,不是小寫字母");

      }

      }

      public static Map getCharCount(String str) {

      Map map = new HashMap();

      char[] arr = str.toCharArray();

      for(int i = 0;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、要求實現(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ù)組列最小值,組成一個新數(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ù)組列最小值,組成一個新數(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

      int[] tmp = arr[i];

      Arrays.sort(tmp);

      minArr[i] = tmp[0];

      }

      return minArr;

      }

      }

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

      輸出: tiger

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

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

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

      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

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

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

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

      */

      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 getLongString(String str) {

      String[] wordStr = str.split("[ ,.0-9]");

      int sum = 0;

      ArrayList result = new ArrayList();

      for(int i = 0;i

      if(sum

      sum = wordStr[i].length();

      result.add(wordStr[i]);

      }

      }

      return result.get(result.size()-1);

      }

      }

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

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

      輸入:aBxyZ

      輸出:bCyzA

      package com.xcbeyond;

      /**

      *

      * @author xcbeyond

      * 2015-5-10下午10:11:02

      *10. 功能描述:

      * 將字符串中的字母全部替換成字母的下一個字母,要是最后一位是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

      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. 功能描述:判斷一個字符串中是否只含有相同的子字符串(子串長度>=2)

      輸入:abab

      返回:true

      輸入:abcd

      返回:false

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

      public boolean checkString(String data)

      {

      //TODO

      return false;

      }

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

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

      輸入:yiersansan

      輸出:1233

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

      public String trunNumber(String data)

      {

      //TODO

      return "";

      }

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

      然后返回該子字符串。

      輸入: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 map = new HashMap();

      char[] ch = str.toCharArray();

      for(int i = 0;i

      if(!map.containsKey(ch[i])){

      map.put(ch[i], 1);

      }else {

      map.put(ch[i], map.get(ch[i])+1);

      }

      }

      List> list = new ArrayList>(map.entrySet());

      Collections.sort(list, new Comparator>(){

      @Override

      public int compare(Entry o1,

      Entry 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

      sb.append(s[i]);

      }

      return sb.toString();

      }

      }

      14. 功能描述:找出一個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 list = new ArrayList();

      for(int i = 0;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

      resultArr[i] = list.get(i);

      }

      return resultArr;

      }

      }

      15.

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

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

      返回一個數(shù)組

      如:

      輸入:3,2

      輸出:1,2,3

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

      /**

      * data1:人數(shù)

      * data2 : 起始位置

      *

      */

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

      {

      int outNum = 3;

      //TODO

      return null;

      }

      16. 功能描述:統(tǒng)計一個數(shù)字轉(zhuǎn)為二進制后,0和1的個數(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 map = new HashMap();

      for(int i = 0;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. 功能描述:對一個二進制數(shù)的每位進行0和1反轉(zhuǎn),求翻轉(zhuǎn)后的二進制所對應(yīng)的十進制

      輸入: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

      if(dataStr[i] == '0') {

      dataStr[i] = '1';

      }else {

      dataStr[i] = '0';

      }

      }

      String str = "";

      for(int i = 0 ;i

      str += dataStr[i];

      }

      String res = Integer.valueOf(str, 2).toString();

      return res;

      }

      }

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

      輸入: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

      if(ch[i] == '(') {

      count++;

      }else if(ch[i] == ')') {

      count--;

      }

      }

      if(count == 0) {

      isMatch = true;

      }

      return isMatch;

      }

      }

      19. 功能描述:查找一個字符串的子字符串集

      輸入:abab

      輸出:a b ab ba aba bab

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

      public List getChildren(String data)

      {

      List list = new ArrayList();

      //TODO

      return list;

      }

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

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

      輸出:{b,c,a}

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

      /**

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

      *index:移動位數(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[i] = data[index-1+i];

      }

      resData[resData.length-1] = data[0];

      return resData;

      }

      }

      21. 程序?qū)崿F(xiàn)目標(biāo): 輸入一個字符,將字符轉(zhuǎn)換為小寫,將其對應(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. 要求:將一個二維數(shù)組進行逆序,逆序后所有的元素行列不定,進行隨機排列

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

     、谠侔涯嫘蚝竺恳恍羞M行隨機排列

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

      �6�04 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

      for(int j = 0;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

      resArr[arr.length-1-i] = arr[i];

      }

      Random r = new Random();

      for(int i = 0 ;i

      for(int j = 0;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個字符的所有字符串

      例如"abc" m=2

      "ab" "ac" "bc"

      "abcd" m=3

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

      public ArrayList perenum(String str,int m)

      {

      return null;

      }

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

      eg:輸入 28

      輸出 2*2*7

      25.n個長度的字符串中取m個長度的組合

      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

      for(int j = 0;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

      for(int j = 0;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

      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位)和一個年份,計算現(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. 輸入一個字符串,如果是小寫則轉(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

      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)為該大寫字母對應(yīng)的小寫字母后第五個小寫字母,

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

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

      public class test{

      public static void main(String[] args)

      {

      //可寫測試代碼

      }

      //需要完成的方法

      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. 刪除一個字符串里出現(xiàn)次數(shù)最多的子字符串

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

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

      1、如輸入 Good 返回 TRUE

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

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

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

      接口說明

      /**

      * 反轉(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. 題目背景

      寫出一個程序,接受一個浮點數(shù)值,輸出該數(shù)值的近似整數(shù)值。如果小數(shù)點后數(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ù)列求和

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

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

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

      下面是一些合理的表達式的例子:

      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. 計算整數(shù)各個數(shù)位之和

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

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

      運行時間限制: 無限制

      內(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ù)

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

      運行時間限制: 10 Sec

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

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

      注意:

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

      2、負數(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());

      }

      }

    【華為Java機試題】相關(guān)文章:

    華為JAVA考試試題11-01

    華為Java面試題精選10-13

    華為Java上機考試題07-04

    2016年華為機試題及答案07-23

    華為上機試題匯總09-20

    華為筆試題及答案11-01

    華為認(rèn)證最新試題及答案08-28

    華為認(rèn)證筆試題大全08-15

    JAVA模擬試題及答案10-18

    華為C語言上機試題及答案07-01