华为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.华为上机试题汇总