IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 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<A length;_______)
?? ??? ??? ?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<A length;i+=2 )
?? ??? ??? ?total+=a[i];
?? ??? ?g.drawString("total of array element:"+total,25,25);
?? ?}
}

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程序实现如下功能:接受命令行中给出的一个字母串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若是大写,则统计该串中大写字母的个数,并将所有大写字母输出;否则,输出信息串“第一个字母还不是大写字母!”。
    /*
           编写一个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<str.length();i++){
                    char c1 = (str.charAt(i));
                    if((c1<=90)&&(c1>=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<Point>。如果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进行编程。如果参数的数目不足,则显示相应提示信息并退出程序的执行。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:07:59  更:2021-11-28 11:09:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:18:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码