资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

Java程序设计教程——第四、六章习题

Java 更新时间: 发布时间: 计算机考试归档 最新发布

Java程序设计教程——第四、六章习题

1、判断题

  1. 下标是用于指出数组中位置的数字或变量。(X)
  2. 同一个数组中可以存放多个不同类型的数据。(X)[数组是相同数据类型的数据元素的集合]
  3. 数组的下标可以是int型或float型。(X)
  4. 数组可声明为任何数据类型。(T)
  5. 执行语句int a[ ]后数组元素的值为0。(X)(int a[ ]为声明数组不分配空间(注意和c,c++的区别))
  6. 假定整形数组的某个元素被传递给一个方法并被该方法修改。当调用方法执行完毕时,这个元素中含有修改过的值。(T)
  7. 执行语句 int a[ ] = new int[50]后数组元素为0。(T)
  8. 对于二维数组s来说,s[2].length给出数组s第二行的元素个数。(X)[第三行]
  9. 数组作参数时,数组名后必须加方括号。(X)
  10. 用运算符“==”比较字符串对象时,只要两个字符串包含的是同一个值,结果便为TRUE。(X)(“==”用于比较该字符串是否是引用同一实例,是否指向同一个内存地址。)
  11. String类字符串在创建后可以被修改。(X)(SttringBuffer才可以修改)
  12. 方法replace(String str1,String str2)将当前字符串中所有str1子串换成str2子串。(T)

    replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。

    public String replace(char oldChar,
                          char newChar)
    

    oldChar -- 原字符 newChar -- 新字符。

  13. 方法compareTo在所比较的字符串相等时返回0。(T)
  14. 方法IndexOf(char ch,-1)返回字符ch在字符串中最后一次出现的位置。(X)
  15. 方法startsWith判断当前字符串前缀是否和指定的字符串一致。(T)

2、程序填空题

下面程序的功能为计算数组下标为奇数的各元素的和,完成成程序填空。

import java awt.Graphics;
import java Applet.applet;
public class sumOfArray______Applet{
    public void paint(Graphics g){
        int a[] = {1,3,5,7,,9,10};
        int total = 0;
        for(int i=1;i             total+=a[i];
        g.drawString("total of array element:"+total,25,25);
    }
}

import java awt.Graphics;
import java Applet.applet;
public class sumOfArray extends Applet{
    public void paint(Graphics g){
        int a[] = {1,3,5,7,,9,10};
        int total = 0;
        for(int i=1;i

3、编程题

  1. 编写自定义方法生成k个50~100之间的随机整数,在另写一个输出方法。在应用程序的mian()方法中调用这两个方法,生成一个整形数组并输出该数组的所有元素。
  2. 编写一个Application程序,比较命令行中给出的两个字符串是否相等,并输出比较的结果。
    import java.util.*;
    class CompareString{
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            String str1 = input.next();
            String str2 = input.next();
            int result = str1.compareTo(str2);
            if (result == 0)
                System.out.println(str1+"与"+str2+"相等");
            else
                System.out.println(str1+"与"+str2+"不相等");
        }
    
    
    }

  3. 编写一个Application程序实现如下功能:接受命令行中给出的一个字母串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若是大写,则统计该串中大写字母的个数,并将所有大写字母输出;否则,输出信息串“第一个字母还不是大写字母!”。
    import java.util.*;
    class test2{
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            String str = input.nextLine();
            System.out.println(str);
            char  c = (str.charAt(0));
            if(c<=90&&c>=65){
                char[] s = new char[20];
                s[0]=c;
                int count = 1;
                for(int i = 1;i=65)){
                        s[count]=c1;
                        count++;
                    }
                    }
                    System.out.println("该字符串中大写字母的个数:");
                    System.out.println(count);
                for (int i = 0; i < count; i++) {
                   System.out.print(s[i]);
                }
                }
    
    
            else
                System.out.println("第一个字母还不是大写字母!");
    
        }
    }

  4. 编写一个应用程序,接受用户输入的第一行字符串,统计字符个数,然后反序输出。
    import java.util.*;
    class test2 {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            System.out.println("请输入字符串:");
            String str = input.nextLine();
            int count = str.length();
            System.out.println("该字符串的字符个数为:"+count);
            StringBuffer str1 = new StringBuffer(str);
            str1.reverse();
            System.out.println("逆序输出该字符串:"+str1);
        }
    }
    

————————————————————————————————————————————————————

  1. 定义一个名为Point的类,它的两个数据域为x和y,分别表示坐标。如果x坐标一样,实现comparable接口对x坐标和y坐标上点的比较。
  2. 定义一个CompareY的实现Comparator。如果y坐标一样,实现compare方法对他们在x坐标和y坐标上的两个点的比较。
  3. 随机创建100个点,然后使用Arrays.sort方法分别以他们x坐标的升序和y坐标的升序显示这些点。

————————————————————————————————————————————————————

  1. 使用Scanner类的实例解析字符串“数学87分,物理76分,英语96分”中的考试成绩,并计算出总成绩以及平均分数。
  2. 用Date类不带参数的构造方法创建日期,要求日期的输出格式是:星期 小时 分 秒。
  3. 编程联系练习Math类的常用方法。
  4. 使用BigInteger类计算1!+3!+5!+7!+ ...的前30项的和。
  5. 举例说明哪种异常是有系统通过默认的异常处理程序进行处理的?
  6. 随机生成50以内的十个不同的整数。

————————————————————————————————————————————————————

  1. 什么是异常?异常和错误有何区别。Java运行中,通常可能遇到两种错误:一种是致命错误:一种是致命错,例如,程序运行过程中内存空间不足等,这种严重的不正常状态,通常称为出错误(error),程序将不能简单的恢复执行;另一种是非致命错误,例如数组越界等,这种错误通过修正后程序仍然可以继续执行,通常称为异常(exception)。
  2. 简述Java的异常处理机制。Java异常处理采用面向对象的方法,当程序运行中发生了可以识别的异常时,系统便产生一个该异常类的异常对象,简称异常。系统中一旦产生了异常,便去寻找处理该异常的程序,以保证不产生死机,从而保证程序的安全运行。
  3. Error与Excepetion类分别代表何总异常?Error:一般是指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等。对于这类错误导致的应用程序中断,程序无法预防和恢复。Exception:是指可被捕获切可能恢复的异常情况,eg:数组下标越界、数字被0出产生异常、输入输出异常等。Exception又可分为运行时异常和非运行时异常。

  4. 异常类有哪些常用方法?
    序号方法及说明
    1public String getMessage()
    返回关于发生的异常的详细信息。这个消息在Throwable 类的构造函数中初始化了。
    2public Throwable getCause()
    返回一个Throwable 对象代表异常原因。
    3public String toString()
    使用getMessage()的结果返回类的串级名字。
    4public void printStackTrace()
    打印toString()结果和栈层次到System.err,即错误输出流。
    5public StackTraceElement [] getStackTrace()
    返回一个包含堆栈层次的数组。下标为0的元素代表栈顶,最后一个元素代表方法调用堆栈的栈底。
    6public Throwable fillInStackTrace()
    用当前的调用栈层次填充Throwable 对象栈层次,添加到栈层次任何先前信息中。
  5. 举例说明哪种异常是有系统通过默认的异常处理程序进行处理的?JVM(Java虚拟机) 异常:由 JVM 抛出的异常或错误。例如:NullPointerException类,ArrayIndexOutOfBoundsException类,ClassCastException类。
  6. 在Java的异常处理机制中,语句try、catch、和finally各启到什么作用?

    使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。

    try/catch 代码块中的代码称为保护代码,使用  try/catch 的语法如下:

    try
    {
       // 程序代码
    }catch(ExceptionName e1)
    {
       //Catch 块
    }

    Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。

    如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。

    finally 关键字用来创建在 try 代码块后面执行的代码块。

    无论是否发生异常,finally 代码块中的代码总会被执行。

    在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。

    finally 代码块出现在 catch 代码块最后,语法如下:

     try{
        // 程序代码
     }catch(异常类型1 异常的变量名1){
        // 程序代码
     }catch(异常类型2 异常的变量名2){
        // 程序代码
     }finally{
        // 程序代码

  7. 什么是抛出异常?语句throw的格式如何?

    throws/throw关键字:

    如果一个方法没有捕获一个检查性异常,那么该方法必须使用 throws 关键字来声明。throws 关键字放在方法签名的尾部。

    也可以使用 throw 关键字抛出一个异常,无论它是新实例化的还是刚捕获到的。

    下面方法的声明抛出一个 RemoteException 异常:

    import java.io.*;
    public class className
    {
       public void deposit(double amount) throws RemoteException
       {
          // Method implementation
          throw new RemoteException();
       }
       //Remainder of class definition
    }

    一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。

    例如,下面的方法声明抛出 RemoteException 和 InsufficientFundsException:

    import java.io.*;
    public class className
    {
       public void withdraw(double amount) throws RemoteException,
                                  InsufficientFundsException
       {
           // Method implementation
       }
       //Remainder of class definition
    }

可以像下面这样定义自己的异常类:

  • 如何创建自己的异常?

    在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。

  • 所有异常都必须是 Throwable 的子类。

  • 如果希望写一个检查性异常类,则需要继承 Exception 类。

  • 如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。

class MyException extends Exception{
}

  • 自定义的异常类格式如何?

    只继承 Exception 类来创建的异常类是检查性异常类。

    下面的 InsufficientFundsException 类是用户定义的异常类,它继承自 Exception。

    一个异常类和其它任何类一样,包含有变量和方法。

    实例
    // 文件名InsufficientFundsException.java
    import java.io.*;
    
    public class InsufficientFundsException extends Exception
    {
       private double amount;
       public InsufficientFundsException(double amount)
       {
          this.amount = amount;
       } 
       public double getAmount()
       {
          return amount;
       }
    }

  • 编写程序,定义一个circle类,其中有求面积的方法,当圆的半径小于0时抛出一个自定异常。 

  • 编写程序,从键盘读入5个字符放入一个字符数组,并在屏幕上显示。程序中处理数组越界的异常。

  • 编写Java Application,要从命令行以参数形式读入两个数据,计算它们的和,然后将和输出。对自定义异常OnlyOneException与NoOprandException进行编程。如果参数的数目不足,则显示相应提示信息并退出程序的执行。

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/605938.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【Java程序设计教程——第四、六章习题】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2