亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

JAVA認證

華為JAVA考試試題

時間:2024-10-24 18:25:43 JAVA認證 我要投稿

2017華為JAVA考試試題

  Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。下面是小編整理的關(guān)于華為JAVA考試試題,歡迎大家參考!

2017華為JAVA考試試題

  華為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ù)組每一行逆序

 、谠侔涯嫘蚝竺恳恍羞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上機考試題08-19

華為認證考試試題及答案10-25

華為HCDA認證考試筆試題及答案10-21

華為上機試題匯總08-23

sun java認證考試題庫09-04

華為認證網(wǎng)絡(luò)工程師考試試題07-31

2016年華為認證上機考試題08-22

2017年華為認證考試題庫07-16

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

2017年java程序員考試試題07-05