Java精典面试题推荐二(大家可以把自己的答案附上)
***此题以考察基础为准,北京的笔试题,可能有人做过
题:写一个程序,解析如下格式的字符串,并将解析的数字序列打印出来。
字符串格式举例: -1~2, 3~3, 5~10, 7~15x3
~ 代表数字的范围, -1~2 代表从-1开始到2之间的所有数字。 3~3 代表从3开始到3的所有数字,也就是3
7~15x3代表从7开始,最大为15,每隔3个数字取一个数字,所以7~15x3代表 7 10 13 三个数字。
所以上面的举例字符串代表 -1 0 1 2 3 5 6 7 8 9 10 7 10 13 这样的数字序列
个人答案,只作简单验证,仅供参考;希望大家能够把自己好的方法算法与出来共同学习,尤其也在面试的朋友.
import java.util.StringTokenizer;
public class StringTokenTest {
public static void test1(StringTokenizer st1) {
int[] arr = new int[2];
int i = 0;
while (st1.hasMoreTokens()) {
arr[i] = Integer.parseInt(st1.nextToken());
i++;
}
if (arr[0] > arr[1]) {
System.out.println("范围有误,请查证!");
return;
}
for (int j = arr[0]; j <= arr[1]; j++) {
System.out.print(j + " ");
}
}
public static void test2(StringTokenizer st1) {
int[] arr = new int[3];
int i = 0;
while (st1.hasMoreTokens()) {
arr[i] = Integer.parseInt(st1.nextToken());
i++;
}
if (arr[0] > arr[1]) {
System.out.println("范围有误,请查证!");
return;
}
for (int j = arr[0]; j <= arr[1] ; j++) {
if (j % arr[2] == 0) {
System.out.print(j + " ");
}
}
}
public static void main(String[] args) {
String str = "-1~3,2~2,3~7*3,12~25*4";
StringTokenizer st = new StringTokenizer(str, ",");
while (st.hasMoreTokens()) {
String s = s
相关文档:
一般我们在java中运行其它类中的方法时,无论是静态调用,还是动态调用,都是在当前的进程中执行的,也就是说,只有一个java虚拟机实例在运行。而有的时候,我们需要通过java代码启动多个java子进程。这样做虽然占用了一些系统资源,但会使程序更加稳定,因为新启动的程序是在不同的虚拟机进程中运行的,如果有一个进程发生 ......
原题如下:用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
解题思路:
很明显,这是一个递归算法。我们可以排列将这6个数按从小到大的顺序排一下,如果是1,2,3,4,5,6,那么会有1 ......
·if ((ICO2 = getInitParameter("ICO2")) == null)
ICO2 = "images/commend.gif";
·ActionContext ctx = ActionContext.getContext();
HttpServletRequest request = (HttpServletRequest) ctx.get(ServletActionContext.HTTP_REQUEST); ......
鉴于网上对Java的堆栈区分,众说纷纭,有的把C++的堆栈也混进来,有的没有分清Stack,Heap的中文翻译,搞得我把Stack当作堆,Heap当作栈,混乱了!昨天参加一外企的笔试,选择英文答案时,选错了,知道答案是堆,却选择了Stack!今天,决定把两者区分清楚!
&nbs ......