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 环境变量很简单 :
首先:
1、双击“我的电脑”
2、双击“控制面板”
3、双击“系统”
4、点击“高级”选项卡,
5、点击“环境变量”按钮
其次:
1、变量名: path
变量值: C:\jdk1.6.0\bin;
2、变量名: classpath
变量值: .;%JAVA_HOME%\lib\ ......
JAVA相关基础知识
1、面向对象的特征有哪些方面
1.抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2.继承:
继承是一种联结类的层次模型,并 ......
java 集合框架(Collection)和数组的排序
根据约定,在使用java编程的时候应尽可能的使用现有的类库,当然你也可以自己编写一个排序的方法,或者框架,但是有几个人能写得比JDK里的还要好呢?使用现有的类的另一个好处是代码易于阅读和维护,这篇文章主要讲的是如何使用现有的类库对数组和各种Collection容器进 ......
1. 验证码(2)
dsnaValidateCode.jar
dsnaValidateCode_src.rar
ValidateCode.java 验证码生成类
Java代码
package cn.dsna.util.images;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;   ......