华为Java上机考试题

文书君 人气:5.34K

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

华为Java上机考试题

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

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

[java] view plain?

package yond;

/**

* @author xcbeyond

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

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

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

*/

public class StringParseASCII {

public static void main(String[] args) {

t(stringParseASCII("abx"));

}

public static String stringParseASCII(String str){

StringBuffer result = new StringBuffer();

char tmp;

for(int i = 0;i

tmp = (char)(At(i)+5);

if(tmp > 'z') {

nd('a');

}else {

nd(tmp);

}

}

return ring();

}

}

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

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

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

[java] view plain?

package yond;

import ys;

/**

*

* @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};

tln(ring(array)+"的平均值:"+avg(array)+"n" +

"大于和小于平均值元素的个数分别为:"+ring(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/th;

return average;

}

}

3、手动输入一个存储整数的数组,要求输出数组里面的2个最大值。

实例:

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

输出:84,9

[java] view plain?

package yond;

import ys;

/**

* @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};

tln("数组"+ring(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;

}

}

}

tln(array[0]+"、"+array[1]);

}

}

4、回文数字判断。

题目描述:

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

要求实现方法:

public String isPalindrome(String strIn);

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

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

false: 不是回文数字;

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

[java] view plain?

package yond;

import ner;

/**

* @author xcbeyond

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

*4、回文数字判断。

*题目描述:

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

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

*/

public class IsPalindrome {

public static void main(String[] args) {

t("请输入一个回文数字:");

Scanner console = new Scanner();

String numStr = Line();

if(isPalindrome(numStr)) {

tln(numStr+"是回文数字!");

}else{

tln(numStr+"不是回文数字!");

}

}

public static boolean isPalindrome(String str){

boolean result = false;

for(int i = 0 ;i

if(At(i) == At(th()-1-i)) {

result = true;

}

}

return result;

}

}

5、要求:随机打印50个随机(4-10长度)的字符串,要求字符串包含的范围是所有的英文字母包含大小写和数字,按照编码顺序排序,每行打印4个,要求首字符对齐

[java] view plain?

package yond;

import Set;

import ;

/**

*

* @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++) {

(randomStr(5));

}

int count = 1;

for(String i:setStr){

t(i+" ");

if(count%4 == 0) {

tln();

}

count++;

}

}

/**

* @param strLen:随机字符串的长度

*/

public static String randomStr(int strLen) {

char[] str = new char[strLen];

int i = 0;

while(i

int f = (int)om()*3;

if(f == 0) {

str[i] = (char)('a' + om()*26);

}else if(f == 1) {

str[i] = (char)('A' + om()*26);

}else {

str[i] = (char)('0' + om()*10);

}

i++;

}

return new String(str);

}

}

6.手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。提示(可以用Map)

实例:

输入:aaabbbccc

输出:a 3

b 3

c 3

[java] view plain?

package yond;

import Map;

import ;

/**

*

* @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 (hes(reg)) {

Map map = getCharCount(str);

for (y e : ySet()) {

tln(ey() + ": " + alue());

}

}else {

tln("输入的字符不合法,不是小写字母");

}

}

public static Map getCharCount(String str) {

Map map = new HashMap();

char[] arr = arArray();

for(int i = 0;i

if(!ainsKey(arr[i])) {

(arr[i], new Integer(1));

}else {

(arr[i],(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();

woBigNumber("123456789","987654321")

}

}

8、比较二维数组列最小值,组成一个新数组返回。(实现核心算法,不需要使用IO)

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

输出:intArrs ={1,3}

[java] view plain?

package yond;

import ys;

/**

* @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}};

tln(ring(getColMin(arr)));

}

public static int[] getColMin(int[][] arr) {

int[] minArr = new int[th];

for(int i = 0;i

int[] tmp = arr[i];

(tmp);

minArr[i] = tmp[0];

}

return minArr;

}

}

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

输出: tiger

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

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

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

[java] view plain?

package yond;

import yList;

import ner;

/**

*

* @author xcbeyond

* 2015-5-10下午09:45:03

*9. 输入:a aa,cat tiger.123dd

* 输出: tiger

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

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

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

*/

public class GetLongString {

public static void main(String[] args) {

tln("请输入一句话:");

Scanner console = new Scanner();

String str = Line();

tln("最长的单词为:"+getLongString(str));

}

public static String getLongString(String str) {

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

int sum = 0;

ArrayList result = new ArrayList();

for(int i = 0;i

if(sum

sum = wordStr[i]th();

(wordStr[i]);

}

}

return (()-1);

}

}

10. 功能描述:将字符串中的字母全部替换成字母的下一个字母,

要是最后一位是z或Z则替换为a或A。

输入:aBxyZ

输出:bCyzA

[java] view plain?

package yond;

/**

*

* @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";

tln(nextString(str));

}

public static String nextString(String str) {

String result = "";

char[] arr = arArray();

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 eOf(arr);

}

}