小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

華為機(jī)試題

 昵稱(chēng)12194942 2013-09-12
/**
 *1、 輸入一個(gè)字符串,將其各個(gè)字符對(duì)應(yīng)的ASCII值加5后,輸出結(jié)果。
 * 要求:該字符串只包含小寫(xiě)字母,若其值加5后的字符值大于'z',將其轉(zhuǎn)換成從a開(kāi)始的字符
 */
public class Demo1 {
public static void main(String[] args) {
Demo1 test = new Demo1();
String data = "";
String regex = "^[a-z]*$";
if (data.matches(regex)) {
System.out.println(test.getString(data));
} else {
System.out.println("輸入的字符串不合法");
}
}
public char[] getString(String data) {
char[] arr = data.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i] + 5 > 'z') {
arr[i] = (char) (arr[i] - 21);
} else {
arr[i] = (char) (arr[i] + 5);
}
}
return arr;
}
}
/**
 *2、求一個(gè)整形數(shù)組中元素的平均值,并統(tǒng)計(jì)其中大于和小于此平均值的元素的個(gè)數(shù)
  要求:輸入:整形數(shù)組中的元素個(gè)數(shù)及各個(gè)元素
             輸出:整型數(shù)組中元素的平均值,大于和小于此平均值的元素個(gè)數(shù)
 */
public class Demo2 {

public static void main(String[] args) {
int[] arr ={1,100};
new Demo2().getavage(arr, 2);
}
public void getavage(int[] arr, int num){
if(num==0){
System.out.println("數(shù)組為空");
}else{
double avage = 0.0;
int sum = 0;
int count1=0;
int count2=0;
for(int i=0;i<arr.length;i++){
sum += arr[i];
}
avage = (double)sum/num;
for(int j =0;j<num;j++){
if(arr[j]>avage){
count1++;
}else{
count2++;
}
}
System.out.println("平均值:"+avage);
System.out.println("大于平均值的元素個(gè)數(shù):"+count1);
System.out.println("小于平均值的元素個(gè)數(shù):"+count2);
}
}
}
3、手動(dòng)輸入一個(gè)存儲(chǔ)整數(shù)的數(shù)組,要求輸出數(shù)組里面的2個(gè)最大值
  例子:輸入:1、2、5、9、84、3、2
      輸出:84、9
public class Demo3 {
public static void main(String[] args) {
Demo3 test = new Demo3();
int[] arr = {1};
test.getMaxValue(arr);
}
public void getMaxValue(int[] arr){
int temp=0;
if(arr.length<1){
System.out.println("數(shù)組元素個(gè)數(shù)至少為2");
}
else{
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
 if(arr[i]>arr[i+1]){
temp = arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
 }
   }
}
System.out.print(arr[arr.length-1]+"、"+arr[arr.length-2]);
}
}
}
 4、回文數(shù)字判斷。題目描述:有這樣一類(lèi)數(shù)字,他們順著看和倒著看是相同的數(shù)。
    如:121,656,2332等。這樣的數(shù)字稱(chēng)為回文數(shù)字。
    編寫(xiě)一個(gè)函數(shù),判斷某數(shù)字是否是回文數(shù)字。
    public String isPalidrome(String strIn)
     輸入:strIn:整數(shù),以字符串表示
     返回:true:是回文數(shù)字
         false:不是回文數(shù)字
    只需完成該函數(shù)功能算法,中間不需要任何IO的輸入和輸出
    示例:輸入:strIn="121",返回:true
public class Demo4 {
public boolean isPalindrome(String str) { 
        char[] arr = str.toCharArray();
        int len = arr.length; 
        boolean b = false; 
        for(int i = 0; i <= len/2; i++ ) { 
           if(arr[i] != arr[len-i-1]) { 
              break; 
           }
           b=true;
        } 
        return b; 
   }   
   public static void main(String[] args) { 
        String str = "223322";        
        if(new Demo4().isPalindrome(str) ) { 
               System.out.println("該字符串是回文字符串!"); 
        } else { 
               System.out.println("該字符串不是回文字符串!"); 
          }             
    } 
}
6、手動(dòng)輸入一個(gè)字符串,僅限小寫(xiě)字母,統(tǒng)計(jì)并輸出每個(gè)字符在字符串中出現(xiàn)的次數(shù),并輸出。提示可以用map
   例子:輸入:aaabbbccc
       輸出:a 3
                   b 3
                   c 3
public class Demo6 {

public static void main(String[] args) {
Demo6 test = new Demo6();
String data = "kjdfldfsaf";
String regex = "^[a-z]*$";
if(data.matches(regex)){
Map<Character, Integer> map = test.getCharAount(data);
for(Map.Entry<Character, Integer> entry:map.entrySet()){
System.out.println(entry.getKey()+" "+entry.getValue());
}
}else{
System.out.println("輸入的字符串不合法");
}
}
public Map<Character,Integer> getCharAount(String data){
Map<Character,Integer> tree = new TreeMap<Character,Integer>();
char[] arr = data.toCharArray();
for(int i=0;i<arr.length;i++){
if(!tree.containsKey(arr[i])){
tree.put(arr[i], new Integer(1));
}else{
Integer in = tree.get(arr[i])+1;
tree.put(arr[i], in);
}
}
return tree;
}
}
7、要求實(shí)現(xiàn)方法(這是在網(wǎng)上看的一個(gè)答案。沒(méi)有處理負(fù)數(shù)相加。字符串相加竟然也能通過(guò)?。?/div>
public class Demo7_bignum {   
  public String addTwoBigNumber(String s1,String s2){
  //大數(shù)相加,注意處理異常
  String result="";
  //保證s1是最長(zhǎng)的
  if(s1.length()<s2.length()){
  String temStr = s2;
  s2 = s1;
  s1 = temStr;
  }
  int sum =0;
  int flag = 0;//進(jìn)位
  int deleW=s1.length()-s2.length();
  //從個(gè)位開(kāi)始相加
  for(int i=s1.length()-1;i>=0;i--){
  if((i-deleW)>=0){
  sum = (s1.charAt(i)-'0')+(s2.charAt(i-deleW)-'0')+flag;
  }else{
  sum = (s1.charAt(i)-'0')+flag;
  }
  //每次相加后把進(jìn)位置0
  flag = 0;
  //如果和大于等于10,再將進(jìn)位置為1
  if(sum>9){
  sum-=10;
  flag = 1;
  }   
  result = sum+result;
  }
  //如果最高位有進(jìn)位
  if(flag == 1){
  result = "1"+result;
  flag = 0;
  }
  return result;
  }
    
  public static void main(String[] args) {
  Demo7_bignum test = new Demo7_bignum();
     String str = test.addTwoBigNumber("","0");
      System.out.println(str);
   }
 }
7.1、大數(shù)相加
import java.math.BigDecimal;
public class Demo7_1 {   
  public String addTwoBigNumber(String s1,String s2){
  //大數(shù)相加,注意處理異常
  String regex = "^\\-?[1-9][0-9]*\\.?[0-9]*$";
  if(!s1.matches(regex)||!s2.matches(regex)){
  return "輸入的值不合法";
  }
  BigDecimal bd1 = new BigDecimal(s1);
  BigDecimal bd2 = new BigDecimal(s2);
  String result = bd1.add(bd2).toString();
  return result;
  }
  public static void main(String[] args) {
  Demo7_1 test = new Demo7_1();
      String r1 = test.addTwoBigNumber("123456789","987654321");
      String r2 = test.addTwoBigNumber("-10.5", "5");
      System.out.println(r1);
      System.out.println(r2);
 }
}
/**
 * 8、比較二維數(shù)組列最小值,組成一個(gè)新數(shù)組返回。
 * (實(shí)現(xiàn)核心算法,不需要使用IO) 輸入:{{5,6,1,16},{7,3,9}} 輸出:intArrs
 *  ={1,3}
 */
public class Demo8 {
public static void main(String args[]) {
// 寫(xiě)測(cè)試方法
int[][] a = { { 5, 6, 1, 16 }, { 7, 3, 9 }, { 2, 4, 56 } };
int[] ss = getColMin(a);
for (int i = 0; i < ss.length; i++) {
System.out.print(ss[i] + " ");
}
}
public static int[] getColMin(int a[][]) {
int[] res = new int[a.length];
for (int i = 0; i < a.length; i++) {
int[] s = a[i];
Arrays.sort(s);
res[i] = s[0];
}
return res;
}
}
/**
 * 10、功能描述:將字符串中的字母全部替換成字母的下一個(gè)字母, 要是最后一位是z或Z則替換為a或A。 
 *        輸入:aBxyZ
 *        輸出:bCyzA
 */
public class Demo10 {
public static void main(String[] args) {
String data = "";
System.out.println(new Demo10().nextString(data));
}
public String nextString(String data) {
char[] arr = data.toCharArray();
for (int i = 0; i < arr.length; i++) {
if (arr[i] >= 'a' && arr[i] <= 'z' || arr[i] >= 'A'
&& arr[i] <= 'Z') {
if (arr[i] == 'z' || arr[i] == 'Z') {
arr[i] = (char) (arr[i] - 25);
} else if ((arr[i] >= 'a' && arr[i] < 'z')
|| (arr[i] >= 'A' && arr[i] < 'Z')) {
arr[i] = (char) (arr[i] + 1);
}
}
}
String res = String.valueOf(arr);
return res;
}
}
/**
 * 11、判斷一個(gè)字符串中是否只含有相同的子字符串(子字符串>=2)。 輸入:abab 返回:true 輸入:abcd 返回:false
 */
public class Demo11 {
public static void main(String[] args) {
String data = "ababab";
boolean flag = new Demo11().checkString(data);
System.out.println(flag);
}
public boolean checkString(String data) {
boolean flag = false;
if (data.length() == 2 || data.length() == 0 || data.length() % 2 != 0) {
return flag;
}
int subStrMaxLen = data.length() / 2;
for (int i = 2; i <= subStrMaxLen; i++) {
int subStrNumber = data.length() / i;
String[] temp = new String[subStrNumber];
int begin = 0;
int end = i;
for (int j = 0; j < subStrNumber; j++) {
temp[j] = data.substring(begin, end);
begin += i;
end += i;
}
for (int k = 0; k < subStrNumber - 1; k++) {
if (temp[k].equals(temp[k + 1])) {
flag = true;
} else {
flag = false;
break;
}
}
if (flag == true) {
break;
}
}
return flag;
}
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多