直接上代码
试题1:
class Test1 {
2:
void convert(String str) {
// 用于记录当前连续字符的数量
char[] input = str.toCharArray();
// char为空判断
char output;
8:
char ele : input) {
10: cur = ele;
if (cur == pre) {
12: count++;
// 连续两个字符
if (count == 2) {
15:
char) traverse(cur,cur + 2);
17: System.out.print(output);
18: }
// 连续三个及以上字符
if (count >= 3) {
char) traverse(cur,cur + count - 2);
22: System.out.print(output);
23: }
else {
25: count = 1;
// 赋值
27:
//traverse
29: System.out.print(output);
30: }
31:
32: }
33: System.out.println();
34: }
35:
int num)
37: {
boolean upper = false;
if(Character.isUpperCase(ch))
40: {
41: upper = true;
42: }
// 越界z
if(upper==false&&num>122)
45: {
char)(num-26);
//System.out.println(num);
48: }
// 越界Z
if(upper&&num >90)
51: {
char)(num-26);
53: }
return num;
55: }
56:
/**
* @param args
*/
void main(String[] args) {
// TODO Auto-generated method stub
;
;
;
;
67:
68: convert(input1);
69: convert(input2);
70: convert(input3);
71: convert(input4);
72: convert(input5);
73:
char)67);
'a' > 96);
76: }
77: }
试题2:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
8:
class Test2 {
10:
void sort(String str) {
char[] input = str.toCharArray();
13:
/* 字符串替换思路
* char[] replace = new char[input.length];
for (int i = 0; i < input.length; i++) {
// 这里可以用正则进行通配符的匹配
if (input[i] == ',' || (input[i] > '1' && input[i] < '9')) {
replace[i] = ' '; //数据替换
} else
replace[i] = input[i];
//System.out.print(replace[i]);
}
String rep = String.valueOf(replace); //数据处理后的字符串
System.out.println(rep);
27:
HashMap<String, Integer> map = new HashMap<String, Integer>();
for (String s : array) {
map.put(s, s.length());
}
}*/
34:
new HashMap<String, Integer>();
new StringBuffer();
int i=0;i<input.length;i++)
38: {
// 小写大写字母
if((input[i]>96&&input[i]<123)||(input[i]>64&&input[i]<91))
41: {
42: temp.append(input[i]);
43: }
// 即单词已经找到
if(temp.length()>1)
46: {
47: map.put(temp.toString(), temp.length());
// 置空处理
49: }
50: }
51:
new ArrayList<Map.Entry<String, Integer>>(
53: map.entrySet());
54:
//根据字符串长度进行排序
new Comparator<Map.Entry<String, Integer>>() {
int compare(Map.Entry<String, Integer> o1,
58: Map.Entry<String, Integer> o2) {
return (o2.getValue() - o1.getValue());
//return (o1.getKey()).toString().compareTo(o2.getKey());
61: }
62: });
63:
int i = 0; i < list.size(); i++) {
65: String id = list.get(i).toString();
);
67: }
68: System.out.println();
69:
for (Entry<String, Integer> e : list) {
if (e.getValue() != 1)
);
73: }
74:
75: }
76:
/**
* @param args
*/
void main(String[] args) {
// TODO Auto-generated method stub
82:
;
84: sort(str1);
85: }
86: }
试题3:
class Test3 {
2: // 适合int范围内数
static String minus(String s1, String s2) {
char[] str1 = s1.toCharArray();
char[] str2 = s2.toCharArray();
6:
// 两个数的整数部分
// 两个数的小数部分对应的整数
9:
int len1 = str1.length, len2 = str2.length;
int pos1 = -1, pos2 = -1;
12:
double number1, number2;
14:
'.') != -1) {
'.');
'.');
18: }
19:
int i = 0; i < str1.length; i++) {
if (pos1 != -1 && i < pos1) {
'0');
if (i > pos1)
'0');
25: }
27:
int i = 0; i < str2.length; i++) {
if (pos2 != -1 && i < pos2) {
'0');
if (i > pos2) {
'0');
33: }
34: }
36:
// 更简单的处理方法是:直接将小数转换为整数
int mul = (len1 - pos1) > (len2 - pos2) ? (len1 - pos1 - 1) : (len2
39: - pos2 - 1);
40:
41: number1 = forward_number1 * Math.pow(10, mul) + backward_number1;
42: number2 = forward_number2 * Math.pow(10, mul) + backward_number2;
44:
double result = (number1 - number2) / Math.pow(10, mul);
// System.out.println(result);
47:
return String.valueOf(result);
49: }
50:
/**
* @param args
*/
void main(String[] args) {
// TODO Auto-generated method stub
56:
;
;
59:
;
;
62:
;
;
65:
66: System.out.println(minus(s12, s11));
67: System.out.println(minus(s22, s21));
68: System.out.println(minus(s32, s31));
69: }
70:
71: }