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
相关文档:
要开始学习Java了
声明:以下是我转载的,我觉得挺不错的 拿来分享。
j2ee的学习顺序
我认为j2ee一定要循序渐进,我自己就是这样,从一个一般高校计算机系毕业,
然后满怀梦想和激情去找工作,我kao,那个单位都给我白眼,连会老家的心都有了,那个时候和几个哥们,住在地下室(就在北航那里)。环境相当恶劣,女 ......
适合初学者理解
1,testflex.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()"
minWidth="955 ......
原题如下:用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
解题思路:
很明显,这是一个递归算法。我们可以排列将这6个数按从小到大的顺序排一下,如果是1,2,3,4,5,6,那么会有1 ......
java 集合框架(Collection)和数组的排序
根据约定,在使用java编程的时候应尽可能的使用现有的类库,当然你也可以自己编写一个排序的方法,或者框架,但是有几个人能写得比JDK里的还要好呢?使用现有的类的另一个好处是代码易于阅读和维护,这篇文章主要讲的是如何使用现有的类库对数组和各种Collection容器进 ......