东软Java笔试题答案
东软笔试题

东软笔试题1. 引言本文档是关于东软笔试题的解答和分析。
东软是一家知名的软件开发和咨询公司,笔试题目涉及多个领域的知识,包括编程、数据结构、算法等内容。
本文将逐题进行解答和分析,希望能给读者提供一些参考和启发。
2. 题目一2.1 题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。
2.2 解答思路这是一道经典的数组遍历和查找题目。
我们可以使用两层循环穷举所有可能的组合,判断其和是否等于目标值。
def twoSum(nums, target):n = len(nums)for i in range(n-1):for j in range(i+1, n):if nums[i] + nums[j] == target:return [i, j]该算法的时间复杂度为O(n^2),空间复杂度为O(1)。
2.3 测试样例下面是一些测试样例:Input: nums = [2, 7, 11, 15], target = 9 Output: [0, 1]Explanation: nums[0] + nums[1] = 2 + 7 = 9 Input: nums = [3, 2, 4], target = 6Output: [1, 2]Input: nums = [3, 3], target = 6Output: [0, 1]3. 题目二3.1 题目描述给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。
3.2 解答思路这是一道字符串处理题目。
我们可以使用滑动窗口的思想来解决该问题。
我们维护一个窗口,窗口内的字符都是不重复的。
当遇到重复字符时,我们移动左边界,直到窗口中没有重复字符为止。
def lengthOfLongestSubstring(s):n = len(s)if n <=1:return nleft, right =0, 0max_len =0char_set = set()while right < n:if s[right] not in char_set:char_set.add(s[right])max_len = max(max_len, right - left + 1)right +=1else:char_set.remove(s[left])left +=1return max_len该算法的时间复杂度为O(n),空间复杂度为O(m),其中n 为字符串的长度,m为字符集的大小。
东软软件测试工程师20套笔试题及参考答案

东软软件测试工程师20套笔试题及参考答案问题:东软软件测试工程师20套笔试题及参考答案-测试基础(1)回答:试述软件的概念和特点?软件复用的含义?构件包括哪些?瀑布模型和螺旋模型的主要区别是什么?软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则净室软件工程的策略是什么?软件配置管理的作用?软件配置包括什么?什么是软件质量?软件包是什么?目前主要的测试用例设计方法是什么?软件的安全性应从哪几个方面去测试?参考答案:答案如下:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成分一般称作可复用构件答案如下:参照TP书上第六章45/46页的讲解,参考一下书上的说法进行对比即可。
考虑弹性、风险、成本,等几个方面。
答案如下:软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。
这样的一个过程,称为生命周期模型(Life Cycle Model)。
答案如下:使用人工或自动手段,来运行或测试某个系统的过程。
其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:测试是程序的执行过程,目的在于发现错误一个成功的测试用例在于发现至今未发现的错误一个成功的测试是发现了至今未发现的错误的测试确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
JAVA笔试题_附答案版

一:单选题1.下列哪一种叙述是正确的(D)A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住没有body部分C.声明抽象方法,大括号可有可无不存在bodyD.声明抽象方法不可写出大括号2.如下代码public class Test {public int aMethod() {static int i = 0;i++;return i;}public static void main (String args[]) {Test test = new Test();test.aMethod();int j = test.aMethod();System.out.println(j);}}输出结果是什么?DA. 0B. 1C. 2D.编译失败3.下列哪种说法是正确的(D)A.实例方法可直接调用超类的实例方法如果超类没有被重写就可以B.实例方法可直接调用超类的类方法有可能是私有方法不可以调用C.实例方法可直接调用其他类的实例方法不可以D.实例方法可直接调用本类的类方法4.在Servlet处理请求的方式为:CA.以进程的方式B.以程序的方式C.以线程的方式Servlet容器默认是采用单实例多线程的方式处理多个请求的:D.以响应的方式5.JDBC中,用于表示数据库连接的对象是:BA.Statement连接的实例,执行sqlB.Connection建立与数据库的连接C.DriverManager该方法将建立与数据库的连接D.PreparedStatement6.用于调用存储过程的对象是:CA.ResultSet返回结果集B.DriverManagerC.CallableStatemetD.PreparedStatement PreparedStatement代替Statement.7.按照MVC设计模式,JSP用于实现:BA.ModelB.ViewC.ControllerD.容器8.如下代码10. public Object m() {11. Object o = new Float(3.14F);12. Object [] oa = new Object[1];13. oa[0] = o;14. o = null;15. oa[0] = null;16. print 'return 0';17. }当Float对象在第11行被创建后, 什么时候能够被垃圾回收?CA. 13行以后.B. 14行以后.C. 15行以后.D. 16行以后.9.如下代码:class Base {Base() { System.out.print("Base"); }}public class Alpha extends Base {public static void main( String[] args ) {new Alpha(); -----调用父类无参的构造方法new Base();}}结果是什么?BA. BaseB. BaseBaseC. 编译失败.D. 代码运行但没有输出.E. 运行时抛出异常10.在J2EE中属于Web层的组件有:AA.ServletB.EJBC.AppletD.HTML11.在Servlet的生命周期中,容器只调用一次的方法是:CA.serviceB.getServletConfigC.initD.destroy12.以下关于异常的说法正确的是:DA. 一旦出现异常,程序运行就终止了非系统异常仍然可以继续运行B. 如果一个方法申明将抛出某个异常,它就必须真的抛出那个异常不一定C. 在catch子句中匹配异常是一种精确匹配exceptionD. 可能抛出系统异常的方法是不需要申明异常的13.如下代码:public class Foo {public static void main(String[] args) {try {return;} finally {System.out.println( "Finally" );}}}输出结果是什么?AA. FinallyB.编译失败C. 代码正常运行但没有任何输出.D. 运行时抛出异常14. jsp指令中isELIgnored="boolean"的意思是(C)A.决定是否实现Servler的单线程模式,B.决定改页面是否是一个错误处理页面,C.决定是否支持EL表示,D.没有具体的含义。
Java开发工程师笔试题(带答案)

Java开发工程师笔试题(带答案) Java开发工程师笔试试题一。
编程题1.写出一种排序算法请编写一种排序算法,代码如下:public void sort(int[] array){for(int i = 0.i < array.length - 1.i++){for(int j = 0.j < array.length - 1 - i。
j++){if(array[j]。
array[j+1]){int temp = array[j];array[j] = array[j+1];array[j+1] = temp;2.求1+2+3+。
+n请编写代码实现1+2+3+。
+n的求和,代码如下:public int sum(int n){int result = (n + 1) * n / 2;return result;3.输出指定样式图案请编写代码,输入一个整数n,输出如下指定样式图案,代码如下:public void drawNumPic(int n){int[][] array = new int[n][n];int num = 1;for(int i = 0.i < n。
i++){if(i % 2 == 0){for(int j = 0.j < n。
j++){ array[i][j] = num++;else {for(int j = n - 1.j。
= 0.j--){ array[i][j] = num++;for(int i = 0.i < n。
i++){for(int j = 0.j < n。
j++){ System.out.print(array[i][j]); if(j。
= n - 1){System.out.print("*"); System.out.println();二。
选择题1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?A。
Java常见笔试题及答案

Java常见笔试题及答案一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. .javaB. .classC. .htmlD. .exe2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。
A. 3B. 3. 5C. 4D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。
A. start( )B. stop( )C. init( )D. paint( )4、不允许作为类及类成员的访问控制符的是( C )。
A. publicB. privateC. staticD. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 Applet、类的子类并且存储该源程序文件的文件名为MyApplet。
13、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac.exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用2 字节内存空间。
东软培训考核试题答案(内部资料)

东软培训考核试题答案(内部资料)⼀、单选题(共20分,每题1分)1、快速排序的时间复杂度_____。
A)B) O(n*n); C)O(n*n/2); ; D)O(log(n));2、计算程序执⾏完的结果:short a;char *p;a = 1234;p= (char *)&a*p = 56;请问题变量a的数值为______。
A)1234; B) 3456; C)5634;3、判断程序的结果:char * p = “Hello World”;*p = “A”;程序执⾏后的结果_______。
A) p指向的字符串为“Aello World”;“H ello World”;C)D) 结果未知;4、请问这个结构体所占的空间⼤⼩是______。
Typedef {Int a;Char b,Short c,Short d,}AA_t;A)16byte; B) 9 byte; D)85、有下列程序段char a[3],b[]=”China”;a = b;printf(“%s”,a);则______。
A)运⾏后将输出China Ch;C)运⾏后将输出Chi6、若有语句int * point,a =4 ;和point = &a______。
7 、语句int (*ptr)();的含义是______。
A)ptr是指向⼀维数组的指针变量;D)ptr是⼀个函数名,该函数的返回值是指向int类型的指针;8、若有以下定义和语句:struct student{int age;int num;};struct student stu[3] = {{1001,20},{1002,19},{1003,21}};main(){struct student *p;p = stu;...}则以下不正确的引⽤是______。
A)(p++)->num; B)p++; C)(*p).num;9、请正确指出下列指针的最确切的含义,int (*ptr)[3]、int *(*ptr)[4]、void* (*ptr)(void*)______。
东软Java笔试题答案

Java面向对象程序设计考试卷班级:姓名:时间:90分钟一、选择题(没有注明多选,则为单选)1、下列变量定义错误的是A.int a;B.double b=4.5;C.boolean b=true;D.float f=9.8; (9.8f)2、6+5%3+2的值是A. 2B. 1C.9D.103、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是A.k = n / 10 % 10 //先得到百位和十位 192 19 9B.k = ( n - n / 100 * 100 )%10C.k = n % 10D.k = n / 101.int x=6, y=10, k=5;2.switch( x % y )3.{4. case 0: k=x*y;5. case 6: k=x/y;6. case 12: k=x-y;7. default: k=x*y-x; (default 位置可以改变)8.}B. 5C.0D.541.int i = 10;2.do { i/=2; } while( i-- > 1 ); 10→5→4→2->1->0→-1A. 1B. 5C. 2D.-16、在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是:(同一个方法中参数不同,返回值类型可以不同也可以相同)A.public getSort(float x) 没有返回类型一定是构造函数不能重载B.int getSort(int y)(参数一样不是重载)C.double getSort(int x,int y) (参数不一样是重载)D.void get(int x, int y)7、下列哪个是合法的Java标识符:(两个答案) B CA.Tree&GlassesB.FirstJavaAppletC._$theLastOneD.273.58、设 a = 8,则表达式 a >>> 2 的值是:C (无符号右移动)左移是乘右是除1000->/2->/2 将一个数8除2,运算最快的方式A. 1B. 2C. 3D. 41.public class Student2.{3.private String name;4.public Student(String s_name) //1 构造函数5.{ = s_name; //27.}8.public static void main(String args[])9.{10.Student s = new Student(); //311.}12.}将会得到什么结果?A.将会顺利通过编译,并将产生一个Student.class的类文件B.编译时在//3处出错C.编译时在//2处出错D.编译时在//1处出错10、下面选项中能把字符串转换成float类型的是?: BA.float value = new Float(str); 创建一个对象B.float value = Float.parseFloat(str);C.float value = Float.floatValue(str);D.float value = (new Float()).parseFloat(str);1.class Base { //父类2. Base() { System.out.print("Base"); } //父类中构造函数3.}4.public class Alpha extends Base {5. public static void main( String[] args ) {6.new Alpha(); //实例化自己首先要实例化其父类7.new Base(); //实例化父类8. }9. }BaseB.BaseBaseC.程序编译失败.D.程序运行但没有任何输出1.public class X {2. private static int a;3. public static void main(String [] args) {4. modify(a);5.System.out.println(a);6.}7. public static void modify(int a) {8.a++;9. }10.}A.0C.程序编译失败D.程序抛出异常1.String s = "Hello" + 9 + 1;+字符连接(9+1+”hello”=10hello(string类型))2.System.out.println(s);Hello10B.Hello91C.Hello10.0D.程序编译失败14、下列说法正确的是? CA.一个子类可以有多个父类,一个父类也可以有多个子类B.一个子类可以有多个父类,但一个父类只可以有一个子类C.一个子类可以有一个父类,但一个父类可以有多个子类D.上述说法都不对1. abstract class AbstrctIt {2. abstract float getFloat ();3. }4. public class AbstractTest extends AbstractIt {5. private float f1= 1.0f;6. private float getFloat () {return f1;} //权限只能扩大不能缩小7. }B.在第6行产生一个运行时异常C.在第6行产生一个编译错误D.在第2行产生一个编译错误1.public class A implements B {2.public static void main(String args[]){3. int i;4. A c1 = new A();5. i= c1.k;6. System.out.println("i="+i);7.}8.}9.interface B {10. int k = 10;接口(抽象方法和静态常量的结合)里的静态常量 public static final11.}i=0B.i=10C.程序有编译错误D.i=true1. public class returnIt{2. returnType methodA(byte x, double y) {3. return (short) x/y * 2;4. }5. }B.byteC.longD.double1. public clast {2. public static void main(string[]args) {3. int x = 3;4. int y = 1;5. if (x = y){ // =:赋值运算符 ==:比较运算符6. System.out.println(“Not equal”);7. }else8. System.out.println(“Equal”);9. }10.}B.Not EqualC.编译失败D.程序没有任何输出结果1. switch (i) { //i可以是byte、char、short、int四种2. default:3. System.out.println(“Hello”);4. }A.charB.byteD.double 不行E.object1.int[] x={122,33,55,678,-987};2.int y=x[0];3.for(int i=1;i<x.length;i++){4.if(x[i]>y)5.y =x[i];6.}7.System.out.println(y);A.678B.122C.-987D.331. public class X {2. public static void main(String [] args) {3. try {4. badMethod(); //调用静态方法,无意义。
东软JAVA试题

东软JAVA试题东软JAVA试题一单选题(本大题6小题,每小题2分,共12分)1.下列语句执行后,变量a,c的值分别是(没结果,编译不过啊,如果把a 和 c的位置换了,得出 a 为82,c为0 )。
int x=182; 正确的样子是:int x=182; int a ,c; a = x%100;c = a/100;int a,c;c = a/100;a = x%100;A)1, 2 B)2, 1 C) 1.82, 2 D)100,822.下面哪个表达式可以用来得到X和Y的最大值(B)A)X>Y?Y:X B)XY?(X+Y):(X-Y) D)X==Y?Y:X3.应用程序的main方法中有以下语句,则输出的结果是(A)double x= 1234.1234567;DecimalFormat form1 = new DecimalFormat("0.00");System.out.println("PI="+form1.format(x));A)1234.12 B) 4.12 C) 1234.1234567 D) 1234.004.应用程序的main方法中有以下语句,则输出的结果是(C)int[] x={122,33,55,678,987};int y=x[0];for(int i=1;i<x.length;i++){< p="">if(x[i]>y)y = x[i];}System.out.println(y);A)678 B) 122 C) 987 D) 335. 下列语句序列执行后,K的值是(C)int x=2,y = 5,k = 0;switch(x%y){case 0: k = x+y;break;case 1: k = x-y;break;case 2: k = x*y;break;default: k=x/y;break;}System.out.println(k);A)2 B) 5 C) 10 D) 06.下面的程序输出的结果是(B)public class A implements B{public static void main(String[] args) {int i;A c1 = new A();i = c1.k;System.out.println("i="+i);}}interface B{int k = 10;}A)i=0 B) i=10 C) 编译错误 D) i = true二多选题(本大题6小题,每小题2分,共12分)1.下面说法正确的是(ABCD)A)final 可修饰类,属性变量,方法B)abstract 可修饰类,方法C) 抽象方法只有方法头,没有方法体D) 关键字final和abstract不能同时使用2.下面关于外部类和内部类成员的相互访问的规则中,正确的选项是(AD)A)内部类可以直接访问外部类的成员B)外部类也可以直接访问内部类的成员C)外部类不可以直接访问内部类的成员D)外部类可以通过创建内部类的实例来访问内部类的成员3.下面关于JAVA中输入/输出流的说法正确的是(ABCD)A)FileInputStream与 FileOutputStream类用读,写字节流B)Reader与 Writer 类用来读,写字符流C)RandomAccessFile 既可以用来读文件,也可以用来写文件D)File 类用来处理与文件相关的操作4.下面关于JAVA中的线程的说法正确的是(ABD)A)Java提供了 Thread类,支持多线程机制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java面向对象程序设计
考试卷
一、选择题(没有注明多选,则为单选)
1、下列变量定义错误的是
A.int a;
B.double b=;
C.boolean b=true;
D.float f=;
2、6+5%3+2的值是
A. 2
B. 1
C.9
D.10
3、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是
A.k = n / 10 % 10 arseFloat(str);
4、下边程序运行的结果是?实例化子类对象要看父类
A. Base { Base() { "Base"); }
B.程序运行但没有任何输出
C.程序编译失败
D.程序抛出异常
B.Hello91
C.
D.程序编译失败
7、下列说法正确的是? C
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
B.在第6行产生一个运行时异常
C.在第6行产生一个编译错误
D.在第2行产生一个编译错误
B.i=10
C.程序有编译错误
D.i=true
B.byte
C.long
D.double
B.Not Equal
C.编译失败
D.程序没有任何输出结果
D.double 不行
E.object
B.-987
C.33
14、程序输出的结果是?
B.BD
C.E
ACD
D.ABCD
C.程序编译错误
D.程序运行时抛出异常
C.编译失败,错误在第2行
D.编译失败,错误在第6行
17、下面表达式计算的结果和返回值类型分别是?
+ ())); 0-1之间的小数
A.
B.
C.float
D.double
E.一个随机数
B. 1
C.42
D.43
答题卡
二、编程题
注意:书写清晰,看不清楚不给分,注意字体大小,写不下可以写在背面,标清题号。
1、输出n行n列的空心矩形(要求使用嵌套循环),当n=5时,运行结果显示如下:
#####
##
##
##
#####
程序如下:
public class Test {
public static void main(String[] args) {
int n=5;
for (int i=1; i<=n; i++) {
for (int j=1;j<=n;j++){
if(i==1||i==n||j==1||j==n){ //只有正方形的边缘都为“#”
"#");
}
else{ //其他地方都是空
" ");
}
}
}
}
}
2、设计Java程序
假设有50瓶饮料,喝完3个空瓶可以换一瓶饮料,依次类推,请问总共喝了多少瓶饮料?
程序如下:
public class Test {
public static void main(String[] args){
int sum=0;
int empty=1;
for(int i=50; i>0; i--){
if(empty ==3){
empty =1;
i++;
}else{
empty++;
}
sum++;
}
"总共喝了"+ sum +"瓶饮料。
");
}
}
3、设计Java程序,实现如下功能:
获取50个0至300之间的随机整数,并输出到屏幕上;
取出上面50个整数中的偶数,倒序排列输出到屏幕上。
程序如下:
public class Test {
public static void main(String[] args){
int[] ary = {};
int even = 0;
for (int i = 0; i <50; i++) {
int num = (int)()*300);
"num:"+num);
if (num%2==0) {
ary = (ary, +1);
ary[even++] = num;
}
}
(ary);
for (int i = ; i >=0; i--) {
"偶数:"+ary[i]);
}
}
}
4、编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数wheels和
车重weight。
小车类Car是Vehicle的子类,其中包含的属性有载人数loader。
卡车类Truck是Car类的子类,其中包含的属性有载重量payload。
每个类都有构造方法和输出相关数据的方法。
程序如下:
class Vehicle{
public Vehicle(){}
int wheels;
int weight;
public void print(){
"汽车车轮个数是:"+wheels+",汽车车重为:"+weight+"。
");
}
}
class Car extends Vehicle{
public Car(){
super();
}
int loader;
public void print(){
"小车有载人数是:"+loader+"。
");
}
}
class Truck extends Car{
public Truck(){
super();
}
int payload;
public void print(){
"卡车有载重量是:"+loader+"。
");
}
}
public class Test {
public static void main(String[] args){
Vehicle v1 = new Vehicle();
();
Vehicle v2 = new Car();
();
Vehicle v3 = new Truck();
();
}
}。