JAVA认证 百分网手机站

华为Java上机考试题

时间:2018-04-09 19:59:17 JAVA认证 我要投稿

华为Java上机考试题

  Java是面向对象语言,Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。下面yjbys小编为大家提供的是Java上机考试题及答案,希望对大家有所帮助!

  1.程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。

  程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。

  [java] view plain?

  package com.xcbeyond;

  /**

  * @author xcbeyond

  * 2015-5-7下午10:37:43

  * 1.程序实现目标: 输入一个字符串,将其各个字符对应的ASCII值加5后,输出结果。

  * 程序要求:该字符串只包含小写字母,若其值加5后的字符值大于'z',将其转换成从a开始的字符。

  */

  public class StringParseASCII {

  public static void main(String[] args) {

  System.out.print(stringParseASCII("abx"));

  }

  public static String stringParseASCII(String str){

  StringBuffer result = new StringBuffer();

  char tmp;

  for(int i = 0;i

  tmp = (char)(str.charAt(i)+5);

  if(tmp > 'z') {

  result.append('a');

  }else {

  result.append(tmp);

  }

  }

  return result.toString();

  }

  }

  2.程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。

  程序要求:输入:整型数组中的元素个数及各个元素。

  输出:整型数组中元素的'平均值,大于和小于此平均值的元素的个数。

  [java] view plain?

  package com.xcbeyond;

  import java.util.Arrays;

  /**

  *

  * @author xcbeyond

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

  *2.程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。

  *程序要求:

  * 输入:整型数组中的元素个数及各个元素。

  * 输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数。

  */

  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" +

  "大于和小于平均值元素的个数分别为:"+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、手动输入一个存储整数的数组,要求输出数组里面的2个最大值。

  实例:

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

  输出:84,9

  [java] view plain?

  package com.xcbeyond;

  import java.util.Arrays;

  /**

  * @author xcbeyond

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

  *3、手动输入一个存储整数的数组,要求输出数组里面的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("数组"+Arrays.toString(array)+"里面最大的2个数为:");

  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、回文数字判断。

  题目描述:

  有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字。编写一个函数,判断某数字是否是回文数字。

  要求实现方法:

  public String isPalindrome(String strIn);

  【输入】strIn: 整数,以字符串表示;

  【返回】true: 是回文数字;

  false: 不是回文数字;

  【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出

  [java] view plain?

  package com.xcbeyond;

  import java.util.Scanner;

  /**

  * @author xcbeyond

  * 2015-5-10下午03:46:56

  *4、回文数字判断。

  *题目描述:

  * 有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:

  * 回文数字。编写一个函数,判断某数字是否是回文数字。

  */

  public class IsPalindrome {

  public static void main(String[] args) {

  System.out.print("请输入一个回文数字:");

  Scanner console = new Scanner(System.in);

  String numStr = console.nextLine();

  if(isPalindrome(numStr)) {

  System.out.println(numStr+"是回文数字!");

  }else{

  System.out.println(numStr+"不是回文数字!");

  }

  }

  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长度)的字符串,要求字符串包含的范围是所有的英文字母包含大小写和数字,按照编码顺序排序,每行打印4个,要求首字符对齐

  [java] view plain?

  package com.xcbeyond;

  import java.util.HashSet;

  import java.util.Set;

  /**

  *

  * @author xcbeyond

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

  *5、要求:随机打印50个随机(4-10长度)的字符串,要求字符串包含的范围是

  * 所有的英文字母包含大小写和数字,按照编码顺序排序,每行打印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.手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。提示(可以用Map)

  实例:

  输入:aaabbbccc

  输出:a 3

  b 3

  c 3

  [java] view plain?

  package com.xcbeyond;

  import java.util.HashMap;

  import java.util.Map;

  /**

  *

  * @author xcbeyond

  * 2015-5-10下午04:47:45

  * 6.手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。

  * 提示(可以用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、要求实现方法public String addTwoBigNumber(String s1,string s2)

  大数相加,注意处理异常

  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、比较二维数组列最小值,组成一个新数组返回。(实现核心算法,不需要使用IO)

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

  输出:intArrs ={1,3}

  [java] view plain?

  package com.xcbeyond;

  import java.util.Arrays;

  /**

  * @author xcbeyond

  * 2015-5-10下午09:09:20

  *8、比较二维数组列最小值,组成一个新数组返回。(实现核心算法,不需要使用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

  功能描述:键盘输入一句话

  输出一句话中最常的单词,如果最长的出现多次,返回第一个。

  这句话只包含数字字母和标点。

  [java] view plain?

  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

  * 功能描述:键盘输入一句话

  * 输出一句话中最常的单词,如果最长的出现多次,返回第一个。

  * 这句话只包含数字字母和标点。

  */

  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

  [java] view plain?

  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);

  }

  }

【华为Java上机考试题】相关文章:

1.华为上机试题汇总

2.2016年华为上机考试题

3.2016年华为认证上机考试题

4.华为C语言上机试题及答案

5.华为Java面试题精选

6.excel上机操作考试题「附解答」

7.2017华为JAVA考试试题

8.2017年java华为面试题