华为2019笔试

VIP免费
2025-03-08 0 0 14.78KB 11 页 5.9玖币
侵权投诉
闭卷编程考试
第一题:读取输入字符串存储在数组中,将每个字符串按照 8个字符切割,如果不足 8
字符则自动补全为 0,存储在新的字符串数组中,最后字符串按照升序输出。
测试样例:
输入:2 123456789 abc
输出:12345678 90000000 abc00000
(通过率只有 80%,不知道为啥)
import java.ul.*;
public class Main {
stac List<String> list = new ArrayList<>();
public stac boolean CompareString(String s1,String s2){
char[] m1 = s1.toCharArray();
char[] m2 = s2.toCharArray();
for(int i = 0;i<8;i++){
if(m1[i] >= m2[i]){
return true;
}
else{//小于
return false;
}
}
return false;
}
public stac String addzero(String result,int len){
for(int i=0;i<len;i++){
result += "0";
}
return result;
}
public stac void splitby8( String result){
while(result.length()>8){
//继续切割
int l = result.length();
list.add(result.substring(0,8));
result = result.substring(8,l);
}
if(result.length()>0){
list.add(addzero(result,8-result.length()));
}
}
public stac void main(String[] args) {
//如何实现升序?
Scanner in = new Scanner(System.in);
int num = Integer.valueOf(in.next());
String[] s = new String[num];
// String[] sresult = new String[num*13];
for(int i=0;i<num;i++){
s[i]=in.next();
int sl = s[i].length();
if(sl>8){//按照 88个切割,直到没有 8
splitby8(s[i]);
}
if(sl<8){
//自动补全 0
list.add(addzero(s[i],8-sl));
}
}
String[] sresult = new String[list.size()];
for(int i =0;i<list.size();i++){
sresult[i] = list.get(i);
}
//打印
for(int i=0;i<sresult.length;i++){
for(int j=i;j<sresult.length;j++){
if(CompareString(sresult[i],sresult[j]))
//大于则交换
{
String temp = sresult[j];
sresult[j] = sresult[i];
sresult[i] = temp;
}
}
}
for(int i=0;i<sresult.length;i++){
if(i==sresult.length -1){
System.out.println(sresult[i]);
break;
}
System.out.print(sresult[i]+" ");
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
摘要:

闭卷编程考试第一题:读取输入字符串存储在数组中,将每个字符串按照8个字符切割,如果不足8个字符则自动补全为0,存储在新的字符串数组中,最后字符串按照升序输出。测试样例:输入:2123456789abc输出:1234567890000000abc00000(通过率只有80%,不知道为啥)importjava.util.*;publicclassMain{staticListlist=newArrayList();publicstaticbooleanCompareString(Strings1,Strings2){char[]m1=s1.toCharArray();char[]m2=s2.toC...

展开>> 收起<<
华为2019笔试.docx

共11页,预览3页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:人力资源/企业管理 价格:5.9玖币 属性:11 页 大小:14.78KB 格式:DOCX 时间:2025-03-08

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 11
客服
关注