Java精典面试题推荐一(大家可以把自己的答案附上)
第一次发,选个难度适当中的:我刚毕业时参加的一次笔试.
题:对任意输入入的一个字符串,把数字从小到大排列,字母逆序排列,并且输入后字母与数据交替排列。
如:"5s3fa72cs4z134556sdd"执行后为"z1s2s3s3f4d4d5c5a56".
大家可以试一下,共同学习吗?下面是我当场做的,想到哪写到哪,算法肯定不优,仅供参考.
import java.util.Arrays;
public class DifficultTest {
/*
* 对任意输入入的一个字符串,把数字从小到大排列,字母逆序排列,并且输入后字母与数据交替排列。
*/
public String aMethod(String str) {
String number = "";
String str1 = "";
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
number = number + str.charAt(i) + "";
} else {
str1 = str1 + str.charAt(i);
}
}
int[] number1 = new int[number.length()];
char[] str2 = new char[str1.length()];
for (int i = 0; i < number.length(); i++) {
number1[i] = Integer.parseInt(number.charAt(i) + "");
}
Arrays.sort(number1);
for (int i = 0; i < str1.length(); i++) {
str2[i] = str1.charAt(i);
}
Arrays.sort(str2);
String[] resStr = new String[str2.length];
for (int i = 0; i < str2.length; i++) {
resStr[i] = str2[str2.length - 1 - i] + "";
}
String total = "";
for (int i = 0; i < str.length(); i++) {
if (i % 2 == 0 && i / 2 < resStr.length) {
total = total + resStr[i / 2];
} else if (i % 2 == 1 && i / 2 < number1.length) {
total = total + number1[i / 2];
}
}
return total;
}
public static void main(String[] args) {
&nb
相关文档:
我灰常鸡冻,AC了一个188人AC的题目,开始死活RE,让人不禁脑残,理论上按题目描述接收split的string数组开到2足足够,但是HH大牛还是执着的提出了数组越界的可能,后来看那个大小为5的数组有点太葛朗台,索性改成105(可是明明2个就够了啊,啊,啊,啊,f**k),然后交:AC,靠。脑残+1,贼么可能呢!难道题目描述又在玩人, ......
作为java菜鸟,在学习到数据库操作的时候往往会遇到一个很头痛的问题,数据库中文乱码。这似乎是每个java程序员在成长过程中都会遇到的问题,下面我就把我自己的几种方法和大家分享一下。(一般是在MyEclipse下开发)
java项目:
首先,确保项目的编码是gbk或utf-8(),在Windows->Preferences->General->Workplac ......
配置java 环境变量很简单 :
首先:
1、双击“我的电脑”
2、双击“控制面板”
3、双击“系统”
4、点击“高级”选项卡,
5、点击“环境变量”按钮
其次:
1、变量名: path
变量值: C:\jdk1.6.0\bin;
2、变量名: classpath
变量值: .;%JAVA_HOME%\lib\ ......
工作中遇到需要合并XML的问题,遂从网上查找相关资料,
1、 《 XML merging made easy
》
2 、《java中合并xml文档的设计与实现
》
测试后发现均不符合实际需求,实际需求如下:
file1.xml:
<root>
<a>
<b name="1"/>
</a>
<d /& ......