• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 華為Java機試題

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

        2017年華為Java機試題錦集

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

        2017年華為Java機試題錦集

          1.程序?qū)崿F(xiàn)目標: 輸入一個字符串,將其各個字符對應(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)目標: 輸入一個字符串,將其各個字符對應(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)目標:求一個整型數(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)目標:求一個整型數(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ù)字字母和標點。

          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ù)字字母和標點。

          */

          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個人,圍成一圈,然后標號,從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)目標: 輸入一個字符,將字符轉(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ù)組每一行逆序

          ②再把逆序后每一行進行隨機排列

          如:{{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());

          }

          }

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

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

        華為JAVA考試試題11-01

        華為Java面試題精選10-13

        華為Java上機考試題07-04

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

        華為上機試題匯總09-20

        華為筆試題及答案11-01

        華為認證最新試題及答案08-28

        華為認證筆試題大全08-15

        JAVA模擬試題及答案10-18

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

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 亚洲欧美在线中文字幕不卡 | 日本一道综合久久aⅴ久久 婷婷色五月综合激情六月导航 | 欧美在线观看免费人成 | 性欧美老妇乱码一区二区 | 婷婷色香五月综合激激情 | 原创AV巨作无遮挡国产 |

            2017年華為Java機試題錦集

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

            2017年華為Java機試題錦集

              1.程序?qū)崿F(xiàn)目標: 輸入一個字符串,將其各個字符對應(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)目標: 輸入一個字符串,將其各個字符對應(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)目標:求一個整型數(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)目標:求一個整型數(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ù)字字母和標點。

              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ù)字字母和標點。

              */

              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個人,圍成一圈,然后標號,從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)目標: 輸入一個字符,將字符轉(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ù)組每一行逆序

              ②再把逆序后每一行進行隨機排列

              如:{{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());

              }

              }