java字符串特性练习--答案.doc

上传人:da****ge 文档编号:108520867 上传时间:2022-06-15 格式:DOC 页数:13 大小:91KB
返回 下载 相关 举报
java字符串特性练习--答案.doc_第1页
第1页 / 共13页
java字符串特性练习--答案.doc_第2页
第2页 / 共13页
java字符串特性练习--答案.doc_第3页
第3页 / 共13页
点击查看更多>>
资源描述
选择题:1。下面程序段执行完毕后,cont的值是( C )String strings =string,starting,strong,street,soft;int cont=0;for(int i=0;istrings.length;i+) if(stringsi.endsWith(ng) cont+;A. 1 B. 2 C.3 D.42. 定义字符串:String str=“abcdefg”;则str.indexOf(d)的结果是(C )A) d B) true C) 3 D) 43。定义变量b:boolean b=true;则String.valueOf(b)的类型是( B )A) boolean B) String C) false D) int4。下面程序段输出的结果是( A ) StringBuffer buf1; String str=”北京2008”;buf1=new StringBuffer(str);System.out.println(buf1.charAt(2);A. 2 B. 京 C0 D.null5. 下面程序段输出的结果是( D ) String s=”ABCD”; s.concat(“E”); s.replace(C,F); System.out.println(s);A) ABCDEF B) ABFDE C) ABCDE D) ABCD6.下面的 语句序列执行完后,n的 值是( D ) int n=0; StringTokenizer st=new StringTokenizer(I wonder should I go,or should I stay?); while(st.hasMoreTokens() n+; String ss=st.nextToken(); A) 9 B) 10 C) 11 D) 87. 下面的 语句序列执行完后,n的 值是( A ) int n=0; String str=”I wonder,what?”; StringTokenizer str2=new StringTokenizer(str,“,?”); while(str2.hasMoreTokens() str2.nextToken(); System.out.println(“n=”+n);A)2 B) 3 C) 4 D) 5二 填空题。1定义数组:char charArray=a,b,c,d,e,f;则String.valueOf(charArray,2,3)的 结果是 cde 。2下面语句序列输出结果是 pro 。 String s=new String(“java program!”);System.out.println(s.substring(5,8);3.下面语句输出结果是 1234abcdef5 。char charArray=a,b,c,d,e,f;StringBuffer buf1;String str=”12345”;buf1=new StringBuffer(str);buf1.insert(4,charArray);System.out.println(buf1.toString();4.如有以下赋值语句:x=new StringBuffer().append(“a”).append(4). append(“c”).toString; x的类型是 StringBuffer ;它的值是 a4c 。5下面程序的功能是统计以“st”开头的字符串有多少个,完成下面程序填空。 public class Class1public static void main(String args) String strings=“string”,”starting”,”strong”,”street”,”soft”; int cont=0; for(int i=0; i strings.length ;i+) if(stringsi.startsWith(“str”) cont+;System.out.println(cont);第九章多线程机制一、判断题 1.如果线程死亡,它便不能运行。(T )2.在 Java 中,高优先级的可运行线程会抢占低优先级线程。( T) 3.一个线程在调用它的 start 方法之前,该线程将一直处于出生期。(T ) 4.当调用一个正在进行线程的 stop( )方法时,该线程便会进入休眠状态。(F ) 5.一个线程可以调用 yield 方法使其他线程有机会运行。(T ) 6. 线程可以调用yield方法使低优先级的线程运行。(F)二、选择题 1.Java 语言中提供了一个D线程,自动回收动态分配的内存。 A 异步 B 消费者 C 守护 D 垃圾收集 2.Java语言避免了大多数的C错误。 A 数组下标越界 B 算术溢出 C 内存泄漏 D 非法的方法参数 3.有三种原因可以导致线程不能运行,它们是ACD。 A 等待 B 阻塞 C 休眠 D 挂起及由于 I/O 操作而阻塞 4.当A方法终止时,能使线程进入死亡状态。 A run B setPrority C yield D sleep 5.用B方法可以改变线程的优先级。 A run B setPrority C yield D sleep 6.线程通过C方法可以使具有相同优先级线程获得处理器。 A runB setPrority C yield D sleep 7.线程通过D方法可以休眠一段时间,然后恢复运行。 A run B setPrority C yield D sleep 8.B方法使对象等待队列的第一个线程进入就绪状态。 A run B notify C yield D sleep 9.方法 resume( )负责重新开始D线程的执行。 A 被 stop( )方法停止 B 被 sleep( )方法停止 C 被 wait( )方法停止 D 被 suspend( )方法停止 10.BCD方法可以用来暂时停止当前线程的运行。 A stop( ) B sleep( ) C wait( ) D suspend( ) 三、简述题 1.简述程序、进程和线程之间的关系?什么是多线程程序? 答:程序是一段静态的代码,它是应用软件执行的蓝本。进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程。每一个进程都有自己独立的一块内存空间、一组系统资源。线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每个线程都有其产生、发展和消亡的过程。2.线程有那 5 个基本状态?它们之间如何转化?简述线程的生命周期。答案:线程有“新建” 、 “就绪” 、 “阻塞” 、 “运行” 、 “死亡”5 个基本状态。线程对象被创建时进入“新建”状态;程序执行语句启动这个线程后,它进入线程队列排列等待 CPU 时间片,称为“就绪”状态;等 CPU 时间和其他资源齐备时就进入“运行”状态;线程运行完毕或者被强制终止则进入“死亡”状态。上述线程各状态之间的转换就构成了线程的基本生命周期。3.什么是线程调度?Java 的线程调度采用什么策略?答案:安排线程队列中 CPU 时间的线程被称为线程调度。Java 的线程调度采用优先级基础 上的“先到先服务”策略。 4.如何在 Java 程序中实现多线程?答案: 在 Java 程序中实现多线程最关键是要定义子线程的操作, 即定义子线程的 run( )方法。 具体可以通过派生 Thread 类的子类或实现 Runnable 接口两种方式来实现。 5.试简述 Thread类的子类或实现 Runnable 接口两种方法的异同? 答案:派生 Thread 子类时通过重载父类的方法 run( )来定义子线程的具体操作,然后在主线程中创建并启动该子类的对象为子线程。实现了 Runnable 接口的类必须要实现接口中的 run( )方法,其中同样定义了子线程的操作。但是这个方法中的子线程不是 Thread 子类的对象,而是 Thread 类的对象;在创建 Thread 类对象时把实现了 Runnable 接口和 run( )方法的类作为参数传递给该对象,从而规定它的具体操作。 四、编程题 1.利用多线程技术编写 Applet 程序,其中包含一个滚动的字符串。字符串从左向右运动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动。 Xianch.javaimport java.awt.*; import java.applet.*; public class Xianch extends Applet implements Runnable final String rollingMessage = SAILING, SAILING, I AM SAILING.; Thread m_Draw = null; int beginX; public void init() m_Draw = new Thread(this); public void paint(Graphics g) g.drawString(rollingMessage, beginX, 40); public void start() m_Draw.start(); try Thread.sleep(50); catch(InterruptedException e) public void stop() if(m_Draw.isAlive() m_Draw.stop(); public void run() try while(true) beginX = +beginX % getWidth(); repaint(); Thread.sleep(100); catch(InterruptedException e) 第七章 图形用户界面一、判断题 1.BorderLayout 是面板的缺省布局管理器。(F ) 2.当鼠标指针位于一个 GUI构件的边上时,发生一个 MouseOver 事件。(F ) 3.一个面板(Panel)不能被加入到另一个面板(Panel)中。(F ) 4.在 BorderLayout 中,添加到 NORTH 区的两个按钮将并排显示。(F ) 5.在使用 BorderLayout 时,最多可以使用 5 个构件。(F ) 6.Swing 构件经常被称为轻量构件。(T ) 7.在 GUI 上输出文本或提示信息的方法是使用标签。(T ) 8.为了处理图形用户界面的事件,程序员必须注册一事件监听器。(T ) 9.用户在TextField输入数据后键入回车键,可以激活一个事件。(T ) 11.程序员在创建一个 Frame 时,至少必须创建一个菜单,并将它加入 Frame 中。(F ) 二、选择题 1.鼠标被移动时会调用C方法,并且注册一个事件监听器处理此事件。 A actionPerformed B addItemListener C mouseMove D add 2.用户不能修改的文本是D。 A word 文档 B txt 文档 C 可编辑的 D 不可编辑的3.D用来在 Container 上排列 GUI构件。 A BorderLayout 类 B Component 类 C 事件控制 D 布局管理器 4.为添加一个构件的 add 方法是C类方法。 A BorderLayout B Component C Container D ButtonGroup 5.使用方法B为构件容器设置布局管理器。 A BorderLayout B setLayout C Container D Component 6.GUI 是D的缩写。 A 布局管理器 B 资源管理器 C 用户界面布局 D 图形用户界面 7.当构件中按钮的位置可以被自动调整,应使用哪种布局管理器: BA BorderLayout B FlowLayout C CardLayout D GridLayout 8.使用B类创建菜单对象。 A Dimension B JMenu C JMenuItem D JTextArea 9.使用D方法创建菜单中的分隔条。 A setEditable B ChangeListener C add D addSeparator 10.向 JTextArea 的A方法传递 false 参数可以防止用户修改文本。 A setEditable B ChangeListener C add D addSeparator 11下面哪个布局管理器是非法的: CA FlowLayout B BorderLayout C CardBagLayout D GridLayout 12实现下列哪个接口可以对 TextField 对象的事件进行监听和处理?_C_ A MouseMotionListener B FocusListener C ActionListener D WindowListener 13Frame 的默认的布局管理器是下列哪一个?_D_ A FlowLayout B CardLayout C GridLayout D BorderLayout 14请问如下哪个方法可以将 MenuBar 加入 Frame 中? BA setMenu() B setMenuBar() C add() D addMenuBar() 三、简述题与编程题 1、文本框与文本区域在创建方法、常用方法和事件响应上有何异同?什么操作将引发文本事件?如何响应文本事件?编写 Applet 包括一个文本框、一个文本区域和一个按钮,当用户单 击按钮时,程序将文本区域中被选中的字符串复制到文本框中。2、简述Java的事件处理机制,什么是事件源?什么是监听器?3、 动作时间的事件源可以有哪些?如何响应动作事件?异常处理练习题一、选择题1.java中用来抛出异常的关键字是A、try B、catch C、throw D、finally2.关于异常,下列说法正确的是A、异常是一种对象B、一旦程序运行,异常将被创建C、为了保证程序运行速度,要尽量避免异常控制D、以上说法都不对3.( )类是所有异常类的父类。A、Throwable B、Error C、Exception D、AWTError4.java语言中,下列哪一子句是异常处理的出口A、try子句 B、catch子句C、finally子句 D、以上说法都不对5.下列程序的执行,说法正确的是public class MultiCatch public static void main(String args) try int a=args.length; int b=42/a; int c=1; c42=99; System.out.println(“b=”+b); catch(ArithmeticException e) System.out.println(“除0异常:”+e); catch(ArrayIndexOutOfBoundsException e) System.out.println(“数组超越边界异常:”+e); A、程序将输出第15行的异常信息B、程序第10行出错C、程序将输出“b=42”D、程序将输出第15和19行的异常信息6.下列程序的执行,说法正确的是class ExMulti static void procedure() try int c=1; c42=99; catch(ArrayIndexOutOfBoundsException e) System.out.println(“数组超越界限异常:”+e); public static void main(String args) try procedure(); int a=args.length; int b=42/a; System.out.println(“b=”+b); catch(ArithmeticException e) System.out.println(“除0异常:”+e); A、程序只输出第12行的异常信息B、程序只输出第26行的异常信息C、程序将不输出异常信息D、程序将输出第12行和第26行的异常信息7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。class TrowsDemo static void procedure() throws IllegalAccessException System.out.println(“inside procedure”); throw_new_IllegalAccessException(“demo”); public static void main(String args) try procedure(); _catch (IllegalAccessException e)_ System.out.println(“捕获:”+e); 8.对于catch子句的排列,下列哪种是正确的( ) A、父类在先,子类在后 B、子类在先,父类在后 C、有继承关系的异常不能在同一个try程序段内 D、先有子类,其他如何排列都无关 9.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。 A、try子句B、catch子句 C、finally子句D、throw子句 10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( ) A、捕获异常B、抛出异常 C、声明异常D、嵌套异常 11.哪个关键字可以抛出异常? A、transient B、 finally C、 throw D、 static 12一个异常将终止( )A、整个程序B、只终止抛出异常的方法C、产生异常的try块D、上面的说法都不对 二、填空题1、catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与_异常_对象的类进行匹配。2、java虚拟机能自动处理_RuntimeException_异常。3、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_finally_语句捕获并处理。4、java语言认为那些可预料和不可预料的出错称为_Throwable_5、按异常处理不同可以分为运行异常、捕获异常、声明异常和_自定义异常_几种。6、抛出异常、生成异常对象都可以通过_throws 句实现。7、捕获异常的统一出口通过_finally_语句实现。8、java语言的类库中提供了一个_Throwable_类,所有的异常都必须是它的实例或它子类的实例。9、Throwable类有两个子类:_Error_类和Exception类。10、对程序语言而言,一般有编译错误和_运行_错误两类。11、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。public class HelloWorld int i=0; String greetings= “Hello world!”, “No,I mean it!”, “HELLO WORLD!” ;while(i4) _try_System.out.println(greetingi);_catch_(ArrayIndexOutOfBoundsException e)System.out.println(“Re-setting Index Value”);i=-1;finally System.out.println(“This is always printed”);i+;三、判断题1. ( n ) 程序中抛出异常时(throw ),只能抛出自己定义的异常对象。2. ( y ) 一个异常处理中 finally语句块只能有一个或者可以没有。3.( y)异常类对象代表当前出现的一个具体异常。4.( y )java语言中的所有异常类都是java.lang.Throwable的子类。5.( n ) 如果异常发生时,没有捕获异常的代码,程序会正常执行。四、编程题1参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试public class StringIndexOutOfpublic static void main(String args)System.out.println(字符串索引越界异常);String str=args0; System.out.println(“第四个字符为 ”+str.charAt(3);int aa=Integer.parseInt(args0); System.out.println(“平方为 ”+aa*aa);2 从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。3写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。1、public class StringIndexOutOfpublic static void main(String args)System.out.println(字符串索引越界异常); String str=args0; try System.out.println(第四个字符为 +str.charAt(2); int aa=Integer.parseInt(args0); System.out.println(平方为 +aa*aa); catch(StringIndexOutOfBoundsException e) System.out.println(字符串索引越界+e); catch(NumberFormatException e) System.out.println(格式转换异常+e); 2、class testpublic static void main(String args) try if(args.length5) throw new Exception(); int intarray=new intargs.length; for(int i=0;iargs.length;i+) intarrayi=Integer.parseInt(argsi); for(int i=0;i=c & a+c=b & b+c=a)System.out.println(三角形的三个边长为:+a+ +b+ +c);else throw new IllegalArgumentException();public static void main(String args)int intarray=new intargs.length; for(int i=0;iargs.length;i+) intarrayi=Integer.parseInt(argsi); test t=new test(); try t.sanjiao(intarray0,intarray1,intarray2); catch(IllegalArgumentException e) System.out.println(e.getClass().getName()+ +intarray0+ +intarray1+ +intarray2+不能构成三角形);
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!