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
相关文档:
上文谈到了适配器模式,要是Targer目标角色有20方法,那么每个适配器都要去实现接口中这些方法,这样做感觉太费劲。 这种情况下,可以考虑实现个默认适配器,然后实际的实现目标角色接口的类可以集成这个默认适配器,然后重写默认实现的方法即可。 一、原理图 ......
作为java菜鸟,在学习到数据库操作的时候往往会遇到一个很头痛的问题,数据库中文乱码。这似乎是每个java程序员在成长过程中都会遇到的问题,下面我就把我自己的几种方法和大家分享一下。(一般是在MyEclipse下开发)
java项目:
首先,确保项目的编码是gbk或utf-8(),在Windows->Preferences->General->Workplac ......
鉴于网上对Java的堆栈区分,众说纷纭,有的把C++的堆栈也混进来,有的没有分清Stack,Heap的中文翻译,搞得我把Stack当作堆,Heap当作栈,混乱了!昨天参加一外企的笔试,选择英文答案时,选错了,知道答案是堆,却选择了Stack!今天,决定把两者区分清楚!
&nbs ......
工作中遇到需要合并XML的问题,遂从网上查找相关资料,
1、 《 XML merging made easy
》
2 、《java中合并xml文档的设计与实现
》
测试后发现均不符合实际需求,实际需求如下:
file1.xml:
<root>
<a>
<b name="1"/>
</a>
<d /& ......