华为校招上机笔试试题(B卷)

华为校招上机笔试试题(B卷)——java实现

编程题:B1 【测试自动化6】城市电话号码, B2 超长正整数相加, B3 循环报数.

B1 【测试自动化6】城市电话号码

java代码:import java.util.Scanner;public class PhoneNumber {(String arg[]){Scanner cin=new Scanner(System.in);char[] c1,c2,c3;boolean flag0=false,flag1=false,flag2=false,flag3=false;//电话号码标志位,当号码不合法时取truewhile(cin.hasNext()){String a=cin.nextLine();String b=cin.nextLine();String c=cin.nextLine();c1=a.toCharArray();c2=b.toCharArray();c3=c.toCharArray();if (c1.length!=0||c1.length!=3&&c2.length!=3&&c3.length!=4){flag0=true;}for (int i=0;i<c1.length;i++){if (!(c1[i]>=’0’&&c1[i]<=’9′)){flag1=true;break;}}for (int i=0;i<c2.length;i++){if (i==0){flag2=c2[0]!=’0′?false:true;break;}else if (!(c2[i]>=’0’&&c2[i]<=’9′)){flag2=true;break;}}for (int i=0;i<c3.length;i++){if (!(c3[i]>=’0’&&c3[i]<=’9′)){flag3=true;break;}}if (flag0||flag1||flag2||flag3) System.out.println(1);else System.out.println(0);}}}B2 超长正整数相加

java代码:import java.util.Scanner;public class ADD {(String arg[]){Scanner cin=new Scanner(System.in);int a,b,num1,num2;while(cin.hasNext()){a=cin.nextInt();b=cin.nextInt();num1=(a+””).length();num2=(b+””).length();int num=num1>=num2?num1:num2;int[] s=new int[num+1];int[] s1=new int[num];int[] s2=new int[num];for (int i=0;i<num;i++){s1[i]=a%10;a=a/10;}for (int i=0;i<num;i++){s2[i]=b%10;b=b/10;}int flag=0;//进位for (int i=0;i<num;i++){s[i]=(s1[i]+s2[i]+flag)%10;if ((s1[i]+s2[i]+flag)>=10){flag=1;}else{flag=0;}}for (int i=num;i>=0;i–){if (s[num]>0){System.out.print(s[num]);}if (i<num){System.out.print(s[i]);}}}}}B3 循环报数

java代码:import java.util.Scanner;public class Josephus {(String arg[]) {Scanner cin = new Scanner(System.in);while (cin.hasNext()) {String s = cin.nextLine();String[] sArr = s.split(” “);int m = Integer.parseInt(sArr[0]);//数到m的人出列if (m < 1 || m > 9)return;if (sArr.length < 3 || sArr.length > 20)return;Node head=new Node(sArr[1]);//头节点单列出来,方便形成循环链表Node temp=head;for (int i=2;i<sArr.length;i++){//建立单向链表Node newNode=new Node(sArr[i]);temp.next=newNode;temp=newNode;}temp.next=head;//最后一个节点的next指向第一个节点,,形成循环链表while(temp!=temp.next){for (int i=1;i<m;i++)temp=temp.next;System.out.print(temp.next.data+” “);temp.next=temp.next.next;}System.out.print(temp.data);}}Node{String data;Node next=null;public Node(String data){this.data=data;}}}

昨晚多几分钟的准备,今天少几小时的麻烦。

华为校招上机笔试试题(B卷)

相关文章:

你感兴趣的文章:

标签云: