您的位置:首页 > 职场人生

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

2017-04-25 14:08 197 查看
(不定期更新中)


1. 字符串分割

题目描述

连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;

长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

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

输出描述:

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

输入例子:

abc
123456789


输出例子:

abc00000
12345678
90000000


程序:

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';
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: