zoukankan      html  css  js  c++  java
  • 7.23作业

    常用工具类作业

    一、 填空题

    1. Java中每个Java基本类型在java.lang包中都在一个相应的包装类,把基本类型数据转换为对象,其中int对应的包装类是_Integer_; char对应的包装类是__Character_
    2. 包装类Integer的静态方法可以将字符串类型的数字”123”转换成基本整型变量n,其实现语句是:_Integer.parseInt(“123”);_
    3. Java中使用java.lang包中的_StringBuffer/StringBuilder_类来创建一个字符串对象,它代表一个字符序列可变的字符串,可以通过相应的方法改变这个字符串对象的字符序列。
    4. StringBuilder类是StringBuffer类的替代类,两者的共同点是都是可变长度字符串,其中线程安全的类是_______StringBuffer_______
    5. DateFormat类可以实现字符串和日期类型之间的格式转换,其中将日期类型转换为指定的字符串格式的方法名是__format__
    6. 使用Math.random( )返回带正号的 double值,该值大于等于0.0且小于1.0。使用该函数生成[30,60]之间的随机整数的语句是_______(int)Math.random( )*30+30=______
    7. JDK1.5后提供了__ennum__关键字,用以定义枚举类。枚举类是一种特殊的类,可以有自己的属性、方法和构造方法。

     

    二、 选择题

    1.

    以下选项中关于intInteger的说法错误的是B,D   )。(选择二项)

    A.

    int是基本数据类型,Integerint的包装类,是引用数据类型

    B.

    int的默认值是0Integer的默认值也是0//null

    C.

    Integer可以封装了属性和方法提供更多的功能

    D.

    Integer i=5;该语句在JDK1.5之后可以正确执行,使用了自动拆箱功能//自动装箱

     

    2.

    分析如下Java代码,该程序编译后的运行结果是(  D  )。(选择一项)

     

    public static void main(String[ ] args) {

    String str=null;

    str.concat("abc");

    str.concat("def");

    System.out.println(str);

    }

    A

    null

    B.

    abcdef

    C.

    编译错误

    D.

    运行时出现NullPointerException异常//没赋值

     

     

    3.

    以下关于String类的代码的执行结果是(   B )。(选择一项)*******

     

    public class Test2 {

        public static void main(String args[]) {

            String s1 = new String("bjsxt");

            String s2 = new String("bjsxt");

            if (s1 == s2)

                System.out.println("s1 == s2");

            if (s1.equals(s2))

                System.out.println("s1.equals(s2)");

        }

    }

    A.

    s1 == s2

    B.

    s1.equals(s2)

    C.

    s1 == s2

    s1.equals(s2)

    D.

    以上都不对

     

    4.

    以下关于StringBuffer类的代码的执行结果是(  D  )。(选择一项)****

     

    public class TestStringBuffer {    

    public static void main(String args[]) {

    StringBuffer a = new StringBuffer("A");

    StringBuffer b = new StringBuffer("B");

    mb_operate(a, b);

    System.out.println(a + "." + b);   //a:AB  b:B

    }

    static void mb_operate(StringBuffer x, StringBuffer y) {

    x.append(y);

    y = x;

    }

    }            

    A.

    A.B  

    B.

    A.A *

    C.

    AB.AB

    D.

    AB.B

     

    5.

    给定如下Java代码,编译运行的结果是(  C  )。(选择一项)

     

    public static void main(String []args){

    String s1= new String("pb_java_OOP_T5");

    String s2 = s1.substring(s1.lastIndexOf("_"));//

    System.out.println("s2="+s2);

    }

    /*

    substring返回一个新的字符串,它是此字符串的一个子字符串。

    lastIndexOf返回指定字符在此字符串中最后一次出现处的索引。

    */

    A

    s2=_java_OOP_T5

    B.

    s2=_OOP_T5

    C.

    s2=_T5

    D.

    编译出错

    6.

    对于语句String s="my name is kitty",以下选项中可以从其中截取kitty的是(  AB  )(选择二项//包头不包尾

    A

    s.substring(11,16)

    B.

    s.substring(11)

    C.

    s.substring(12,17)

    D.

    s.substring(12,16)

     

    7.

    分析下面的Java程序段,编译运行后的输出结果是(  D  )。(选择一项) 

     

    public class Test {

    public void changeString(StringBuffer sb) {

    sb.append("stringbuffer2");

    }

    public static void main(String[] args) {

    Test a = new Test();

    StringBuffer sb = new StringBuffer("stringbuffer1");

    a.changeString(sb);

    System.out.println("sb = " + sb);

    }

    }

    A

    sb = stringbuffer2stringbuffer1*

    B.

    sb = stringbuffer1*

    C.

    sb = stringbuffer2

    D.

    sb = stringbuffer1stringbuffer2

     

    8.

    给定如下Java代码,编译运行的结果是(    )。(选择一项)

     

    public static void main(String[] args) {

    StringBuffer sbf = new StringBuffer("java");

    StringBuffer sbf1 = sbf.append(",C#");

    String sbf2 = sbf + ",C#";

    System.out.print(sbf.equals(sbf1));//java   java,C#

    System.out.println(sbf2.equals(sbf));//false

    }

    A

    true  false

    B.

    true  true

    C.

    false  false

    D.

    false  true

     

     

    9.

    分析下面的Java程序,编译运行后的输出结果是(   B )。(选择一项)

     

    public class Example {

    String str = new String("good");

    char[] ch = { 'a', 'b', 'c' };

    public static void main(String args[]) {

    Example ex = new Example( );

    ex.change(ex.str, ex.ch);

    System.out.print(ex.str + "and");   //googand

    System.out.print(ex.ch);           //gbc

    }

    public void change(String str, char ch[]) {

    str = "test ok";

    ch[0] = 'g';

    }

    }

    A

    goodandabc

    B.

    goodandgbc

    C.

    test okandabc

    D.

    test okandgbc***

     

    10.

    以下程序片段中可以正常编译的是(    C )。(选择项)

    A

    String s = "Gone with the wind";  

    String k = s+t; *

    String t = "good";

    B.

    String s = "Gone with the wind";

    String t; *

    t = s[3]+"one";

    C.

    String s = "Gone with the wind";

    String stanfard = s.toUpperCase();

    D.

    String s = "home directory";

    String t = s – "directory";*

     

    三、 判断题

    1. 方法Integer.parseInt()的作用是将一个整数转变成String。(  ×  )*
    2. JK1.5后提供了自动装箱和自动拆箱功能,从而可以实现基本数据类型和对应包装类之间的自动转换,简化了操作。(  √  
    3. 执行语句String str="abcedf"; int len=str.length; 后,能够得到字符串的长度是6。(   × *
    4. 运算符==”用于比较引用时,如果两个引用指向内存同一个对象,则返回true。(  √  
    5. 求x的y次方,其表达式为:Math.pow(x,y)。(  √  )

     

    四、 简答题

    1. 自动装箱和自动拆箱

    自动装箱:把基本类型转换为包装类类型
    自动拆箱:把包装类类型转换为基本类型

    1. String、StringBuffer、StringBuilder区别与联系。

    StringBuffer是jdk1.0版本的,是线程安全的,效率低
    StringBuilder是jdk1.5版本的,是线程不安全的,效率高

    String和StringBuffer,StringBuilder的区别
    String是一个不可变的字符序列
    StringBuffer,StringBuilder是可变的字符序列

     

    五、 编码题

    1. 验证键盘输入的用户名不能为空,长度大于6,不能有数字。

    提示:使用字符串String类的相关方法完成

    package com.wty.Test;

    import java.util.Scanner;

    public class Test5 {

    public static void main(String[] args){

    /*

     *1.验证键盘输入的用户名不能为空,长度大于6,不能有数字。

     */ Scanner input = new Scanner(System.in);

      System.out.println("请输入用户名:");

      String username = input.nextLine();

     

      if (username == null ||"".equals(username)) {

    System.out.println("用户名不能为空");

    return;

    }

      if (username.length() <= 6) {

    System.out.println("用户名的长度大于6");

    return;

    }

      for (int i = 0; i < username.length(); i++) {

    char c = username.charAt(i);

    if (c <= 57 && c >= 48) {

    System.out.println("用户名不能有数字");

    return;

    }

    }

      System.out.println("用户名符合要求");

    }

    }

    1. 接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。

    package com.wty.Test;

    import java.text.DateFormat;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    import java.util.Scanner;

    /*

     * 2.接收从键盘输入的字符串格式的年龄,分数和入学时间,转换为整数、浮点数、日期类型,并在控制台输出。

     */

    public class Test6 {

    public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    System.out.println("请输入年龄:");

    String year = input.nextLine();

    System.out.println("请输入分数:");

    String grade = input.nextLine();

    System.out.println("请输入入学时间:");

    String time = input.nextLine();

    int age = 0;

    age = Integer.parseInt(year);

    double sgrade = 0;

    sgrade = Integer.parseInt(grade);

    Date enterDate = null;

    DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");

    try {

    enterDate = sdf.parse(time);

    } catch (ParseException e) {

    e.printStackTrace();

    return;

    }

    System.out.println(age+","+ sgrade +","+ enterDate);

    }

    }

    提示:使用包装类IntegerDouble和日期转换类DateFormat实现

    1. 根据交通信号灯颜色决定汽车停车、行驶和慢行

    提示:使用枚举实现

    package com.wty.Test;

    /*

     *3.根据交通信号灯颜色决定汽车停车、行驶和慢行

     *提示:使用枚举实现

     */

    public enum Signal{

    红,绿,黄

    }

    public class Test7 {

    public static void main(String[] args) {

    Signal s = Signal.红;

    //根据颜色决定汽车下步行动

    switch(s){

    case 红 :

    System.out.println("停车");

    break;

    case 绿 :

    System.out.println("行驶");

    break;

    case  黄:

    System.out.println("慢行");

    break;

    }

    }

    }

    六、 可选题

    1. 生成10[10,23)之间的随机整数

    提示:分别使用Math.random()Random类的nextDouble()nextInt()实现

    package com.wty.Test;

    import java.util.Random;

    public class Test8 {

    public static void main(String[] args) {

    //实现1:生成10个[10,23)之间的随机整数

    for(int i=0;i<10;i++){

    int r = (int)(Math.random()*13)+10;

    System.out.print(r+" ");

    }

    System.out.println();

    Random rand  = new Random();

    //实现2:生成10个[10,23)之间的随机整数

    for(int i=0;i<10;i++){

    int r = (int)(rand.nextDouble()*13)+10;

    System.out.print(r+" ");

    }

    System.out.println();

    //实现3:生成10个[10,23)之间的随机整数

    for(int i=0;i<10;i++){

    int r = rand.nextInt(13)+10;//[0,13)+10---[10,23)

    System.out.print(r+" ");

    }

    System.out.println();

    }

    }

     

  • 相关阅读:
    非递归的中序遍历(inorder)树 leetcode 94
    基于二叉树的抢劫问题 leetcode337
    查询二叉树的公共父结点 leetcode 236
    链表的无锁操作 (JAVA)
    kexec 内核快速启动流程分析
    最近几天严重营养不良。。。
    Better Me
    《大四上寒假总结》--3.10
    《计算机网络》学习总结
    记录
  • 原文地址:https://www.cnblogs.com/wty1994/p/9361920.html
Copyright © 2011-2022 走看看