「java逻辑测试题」java逻辑思维测试题

博主:adminadmin 2023-01-12 08:33:09 812

本篇文章给大家谈谈java逻辑测试题,以及java逻辑思维测试题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

用逻辑覆盖测试方法测试以下程序段

void DoWork (int x,int y,int z){1 int k=0, j=0;2 if ( (x3)(z10) )3 {4 k=x*y-1;5 j=sqrt(k);6 }7 if((x==4)||(y5))8 j=x*y+10;9 j=j%3;10 }说明:程序段中每行开头的数字(1~10)是对每条语句的编号。(1)画出程序的控制流图(用题中给出的语句编号表示)。(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。题目二、折半查找请按要求对下面的java 代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key 的元素。public int binSearch ( int array[], int key ) {int mid, low, high;low = 0;high = array.length-1;while ( low = high ) {mid = (low +high)/2;if ( key = = array [mid] )return mid;else if ( key array [mid] )high = mid -1;elselow = mid + 1}return -1;}(1) 试计算此程序段的McCabe 复杂性;(2) 用基本路径覆盖法给出测试路径;(3) 为各测试路径设计测试用例。

一道Java编程题,拜托了各位大神

1.定义一个Student类,包括学号,姓名,成绩三个字段,生成get,set和toString方法,实现Comparable接口,重写toCompare方法,方法里就是本题的逻辑,先按成绩比较,再按学好比较,使用TreeSet不实现这个接口会报错。

package Collection;

public class Student implements ComparableStudent {

private long sno;

private String name;

private int score;

public long getSno() {

return sno;

}

public void setSno(long sno) {

this.sno = sno;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getScore() {

return score;

}

public void setScore(int score) {

this.score = score;

}

@Override

public int compareTo(Student o) {

// TODO Auto-generated method stub

if (this.score  o.score) {

return 1;

} else if (this.score  o.score) {

return -1;

} else {

if(this.snoo.sno) {

return 1;

}else {

return -1;

}

}

}

@Override

public String toString() {

return "Student [sno=" + sno + ", name=" + name + ", score=" + score + "]";

}

}

2.然后写测试类,生成十个学生,然后插入treeset,直接遍历输出就是排序好的结果。

package Collection;

import java.util.Random;

import java.util.TreeSet;

public class TreeSetTest {

public static void main(String[] args) {

TreeSetStudent ts=new TreeSetStudent();

for(int i=0;i10;i++) {

Student stu=new Student();

stu.setName("student"+i);

stu.setSno(170201+i);

stu.setScore(90+new Random().nextInt(10));

ts.add(stu);

}

for(Student stu:ts) {

System.out.println(stu);

}

}

}

最后贴一个运行结果

简单的java考试题目,求助

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JFrame;

import javax.swing.JOptionPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class NumberJFrame extends JFrame {

private JTextField txtField;

private JTextArea txtArea;

public NumberJFrame() {

super("测试");

this.setSize(400, 300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.txtField = new JTextField();

this.txtArea = new JTextArea();

// 添加事件

txtField.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String txt = NumberJFrame.this.txtField.getText();

try {

if (Integer.parseInt(txt) 1000) {

int i = JOptionPane.showConfirmDialog(

NumberJFrame.this, "数字已经大于1000,是否继续将该数字放入文本区");

if (i == JOptionPane.YES_OPTION) {

NumberJFrame.this.txtArea.append(txt + "\r\n");

}

} else {

NumberJFrame.this.txtArea.append(txt + "\r\n");

}

} catch (Exception e0) {

}

NumberJFrame.this.txtField.setText("");

}

});

this.setLayout(new BorderLayout());

add(txtField, BorderLayout.NORTH);

add(txtArea, BorderLayout.CENTER);

this.setVisible(true);

}

public static void main(String[] args) {

new NumberJFrame();

}

}

一些Java题 求高手解答

答案如下:1-5 C C D C D

6-10 A B C A A

11-15 C B B D 无

16-19 C D A B

1、 Unicode是一种____c_________

A) 数据类型 B)java包 C)字符编码 D)java类

2、 下面的逻辑表达式中合法的是__c________

A)(7+8)(9-5) B)(9*5)||(9*7) C)96810 D)(9%4)(8*3)

3、 假设int a=3,b=2,c=1,以下语句正确的是____d_______。

A) c=c/float(a//b) b) c=c/((float a)/b)

c) c=(float)c/(a/b) d) c= c/(int)(a/(float)b)

4、 2|35的值是_____c___________。

A)1 B)2 C)3 D)5

5、指出下列正确的语句: d

A) byte i = 389;

B) long lv = i*3+4.5;

C) int x = 87L;

D) long l = 10;

6、指出下列类型转换中正确的是________a______。

A)int i=’A’ B)long L=8.4f C)int i=(boolean)8.9 D)int i=8.3

7、以下的选项中能正确表示Java语言中的一个整型常量的是(b )。

A) 12. B) -20 C) 1,000 D) 4 5 6

8、若所用变量都已正确定义,以下选项中,非法的表达式是(c )。

A) a != 4||b==1 B) 'a' % 3

C) 'a' = 1/2 D) 'A' + 32

9、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是(a )。

A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10

C) k = n % 10 D) k = n / 10

10、现有一变量声明为boolean aa;下面赋值语句中正确的是(a )。

A)aa=false; B)aa=False; C)aa="true"; D)aa=0;

11、设有定义 int i = 6 ;,则执行以下语句后,i 的值为(c )。

i += i - 1;

A) 10 B) 121 C) 11 D) 100

12、下列语句序列执行后,ch1 的值是( b)。

char ch1=’A’,ch2=’W’;

if(ch1 + 2 ch2 ) ++ch1;

A) ‘A’ B) ‘B’ C) ‘C’ D) B

13、设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是(b )。

A) x y || x z B) x != y

C) z ( y + x ) D) x y ! ( x z )

14、设有定义 int i=123; long j=456; 下面赋值不正确的语句是( d)。

A) j=i; B) j=(long)i; C) i=(int)j; D) i=j;

16、以下的变量定义语句中,合法的是(c )。

A) float $_*5= 3.4F; B) byte b1= 15678;

C) double a =10000;

D) int _abc_ = 3721L;

17、以下字符常量中不合法的是(d )。

A) '|' B) '\' C) "\n" D) '我'

18、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是(a )。

A) b = a!=7 ; B) a = 7 + b + c=9;

C) i=12.3* % 4; D) a = a + 7 = c + b;

19、执行下列程序段后,b, x, y的值分别是( b)。

int x=6,y=8;

boolean b;

b=xy++x==--y;

A) true , 6, 8 B) false , 7, 7

C) true, 7, 7 D) false, 6, 8

才子_辉祝您愉快

java面试/笔试题

1.JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。

经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2 这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。但站在产品开发的角度而言,Struts仍然是最稳妥的选择。

Struts2.0为其它框架提供了更好的集成。

使得与Spring的集成非常的容易。

2.Struts的工作流程:

在web应用启动时就会加载初始化ActionServlet,ActionServlet从

struts-config.xml文件中读取配置信息,把它们存放到各种配置对象

当ActionServlet接收到一个客户请求时,将执行如下流程.

-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;

-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;

-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;

-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象,就表示表单验证成功;

-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;

-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;

-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;

3.在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。

4.(1) 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

(2) Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

(3)hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。

(4)hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

5.原理:

(1).读取并解析配置文件

(2).读取并解析映射信息,创建SessionFactory

(3).打开Sesssion

(4).创建事务Transation

(5).持久化操作

(6).提交事务

(7).关闭Session

(8).关闭SesstionFactory

6.

Hibernate的最大的好处就是简化数据库的操作,允许你的代码以对象模式来访问数据库内容,

比如通常我们找一个User的资料需要select出所需要的资料,而通过hibnate我们可以把这个User的资料作为一个对象来看待

,通过User.getName()或者User.getId()等操作来获得,这样就完全统一了上层JAVA或者C#等OO语言中对于数据库的非OO操作的不和谐了.

另外对于复杂的表和表之间的关联我们也不用去使用复杂的Select等SQL来操作,而使用对象可以方便获得,

比如多对多关系某用户属于的部门的名称,虽然底层数据库使用了3个表的主键关联操作,

但是我们可以通过User.getDep().getName()来简单的获得,这个就是持久化对象的好处了

7.

(1)、spring能简化企业级开发, spring可以用简单的java bean来代替实现复杂的EJB。(大部分情况下)

(2)、spring是一个轻量级的IOC和AOP框架,可以spring的IOC实现松耦合,而作为一个AOP框架他又能分离系统服务,实现内聚开发

(3)、spring是非侵入式,基于spring的系统可以不依赖于spring的类。

良好的spring运用可以使程序代码清晰,容易维护,容易测试。

8.

Spring是个很不错的框架。内部最核心的就是IOC了,

动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射

反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置

文件来动态的创建对象,和调用对象里的方法的 。

Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也就是

在调用这类对象的具体方法的前后去调用你指定的 模块)从而达到对一个模块扩充的功能。这些都是通过

配置类达到的。

Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明

管理的(Spring根据这些配置 内部通过反射去动态的组装对象)

要记住:Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。

Spring里用的最经典的一个设计模式就是:模板方法模式。(这里我都不介绍了,是一个很常用的设计模式)

Spring里的配置是很多的,很难都记住,但是Spring里的精华也无非就是以上的两点,把以上两点跟理解了

也就基本上掌握了Spring.

9.

(1).spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。

(2).DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.

(3).DispatcherServlet请请求提交到目标Controller

(4).Controller进行业务逻辑处理后,会返回一个ModelAndView

(5).Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象

(6).视图对象负责渲染返回给客户端。

关于java逻辑测试题和java逻辑思维测试题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。