笔试面试题汇总---4月

来源:互联网 发布:淘宝聚划算是正品吗 编辑:程序博客网 时间:2024/06/12 21:25
  (不定期更新中)

1. 字符串分割

题目描述

  • 连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
  • 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

连续输入字符串(输入2次,每个字符串长度小于100)

输出描述:

输出到长度为8的新字符串数组

输入例子:

abc123456789

输出例子:

abc000001234567890000000

程序:

import java.util.*;public class Main{    public static void main(String[] args){        Scanner sc = new Scanner(System.in);        while(sc.hasNext()){                    String s1 = new String(sc.nextLine());            String s2 = new String(sc.nextLine());            splitSpring(s1);            splitSpring(s2);        }    }    public static void splitSpring(String aa){        if(aa.length()%8 !=0 )            aa = aa + "00000000";        while(aa.length()>=8){            System.out.println(aa.substring(0, 8));            aa = aa.substring(8);        }    }}

2. 进制转换

题目描述

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )

输入描述:

输入一个十六进制的数值字符串。

输出描述:

输出该数值的十进制字符串。

输入例子:

0xA

输出例子:

10

程序1:

import java.util.*;public class Main {    public static void main(String[] args) {        Scanner sc=new Scanner(System.in);        while (sc.hasNext()){            String str=sc.next().substring(2);            System.out.println(Integer.parseInt(str,16));        }    }}  

程序2:

public class Main {    public static void main(String[] args) {        Scanner scan = new Scanner(System.in);        while(scan.hasNext()){            String num = scan.next();            if(!num.substring(0, 2).equals("0x")){                return;            }            int len = num.length();            int sum = 0;            for(int i=2;i<len;i++){                sum += Math.pow(16, len-i-1)*re(Character.toUpperCase(num.charAt(i)));            }            System.out.println(sum);        }    }    public static int re(char s){        switch (s){        case 'A':  return 10;        case 'B':  return 11;        case 'C':  return 12;        case 'D':  return 13;        case 'E':  return 14;        case 'F':  return 15;        }        return s-'0';    }}
0 0
原创粉丝点击