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();

    }

    }

     

  • 相关阅读:
    二分+RMQ/双端队列/尺取法 HDOJ 5289 Assignment
    思维题 HDOJ 5288 OO’s Sequence
    树形DP Codeforces Round #135 (Div. 2) D. Choosing Capital for Treeland
    最大流增广路(KM算法) HDOJ 1853 Cyclic Tour
    最大流增广路(KM算法) HDOJ 1533 Going Home
    最大流增广路(KM算法) HDOJ 2255 奔小康赚大钱
    Complete the Word CodeForces
    Gadgets for dollars and pounds CodeForces
    Vasya and Basketball CodeForces
    Carries SCU
  • 原文地址:https://www.cnblogs.com/wty1994/p/9361920.html
Copyright © 2011-2022 走看看