華為OJ——字串合并處理

來源:互聯網
上載者:User

標籤:

題目描述

按照指定規則對輸入的字串進行處理。

詳細描述:

將輸入的兩個字串合并。

對合并後的字串進行排序,要求為:下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。

對排訓後的字串進行操作,如果字元為‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,則對他們所代表的16進位的數進行BIT倒序的操作,並轉換為相應的大寫字元。如字元為‘4’,為0100b,則翻轉後為0010b,也就是2。轉換後的字元為‘2’; 如字元為‘7’,為0111b,則翻轉後為1110b,也就是e。轉換後的字元為大寫‘E’。

 

舉例:輸入str1為"dec",str2為"fab",合并為“decfab”,分別對“dca”和“efb”進行排序,排序後為“abcedf”,轉換後為“5D37BF”

介面設計及說明:

/*

功能:字串處理

輸入:兩個字串,需要異常處理

輸出:合并處理後的字串,具體要求參考文檔

返回:無

*/

void ProcessString(char* str1,char *str2,char * strOutput)

{

}

 

輸入描述:

輸入兩個字串

輸出描述:

輸出轉化後的結果

輸入例子:
dec fab
輸出例子:
5D37BF
代碼:

import java.util.*;public class Main{public static void main(String[] args) {Scanner scan=new Scanner(System.in);StringBuilder sb1=new StringBuilder();StringBuilder sb2=new StringBuilder();while(scan.hasNext()){String str1=scan.next();String str2=scan.next();String str=str1+str2;char[] chars=(str1+str2).toCharArray();for(int i=0;i<str.length();i++){sb1.append(chars[i]);i++;}for(int i=1;i<str.length();i++){sb2.append(chars[i]);i++;}char[] cha1=sb1.toString().toCharArray();char[] cha2=sb2.toString().toCharArray();Arrays.sort(cha1);Arrays.sort(cha2);char[] chars2=new char[str.length()];int m=0,n=0;for(int i=0;i<str.length();i++){if(i%2==0){chars2[i]=cha1[m];m++;}else{chars2[i]=cha2[n];n++;}}for(int i=0;i<str.length();i++){System.out.print(BIT(chars2[i]));}}}static char BIT(char ch){ switch (ch)        {            case '0': ch='0';break;            case '1': ch='8';break;            case '2': ch='4';break;            case '3': ch='C';break;            case '4': ch='2';break;            case '5': ch='A';break;            case '6': ch='6';break;            case '7': ch='E';break;            case '8': ch='1';break;            case '9': ch='9';break;                         case 'A': ch='5';break;            case 'B': ch='D';break;            case 'C': ch='3';break;            case 'D': ch='B';break;            case 'E': ch='7';break;            case 'F': ch='F';break;                         case 'a': ch='5';break;            case 'b': ch='D';break;            case 'c': ch='3';break;            case 'd': ch='B';break;            case 'e': ch='7';break;            case 'f': ch='F';break;            default : ch=ch;break;        } return ch;}}



華為OJ——字串合并處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.