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

article/2025/10/9 20:27:44

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+"相等");elseSystem.out.println(str1+"与"+str2+"不相等");}}

  3. 编写一个Application程序实现如下功能:接受命令行中给出的一个字母串,先将该串原样输出,然后判断该串的第一个字母是否为大写,若是大写,则统计该串中大写字母的个数,并将所有大写字母输出;否则,输出信息串“第一个字母还不是大写字母!”。
  4. /*编写一个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]);}}elseSystem.out.println("第一个字母还不是大写字母!");}
    }

    命令行参数 

    public class Domo {public static void main(String[] args){if(args[0].equals(args[1])){System.out.println("字符串"+args[0]+"和字符串"+args[0]+"相等");}else{System.out.println("字符串"+args[0]+"和字符串"+args[0]+"不相等");}System.out.println(args[0]);if('A'<=args[0].charAt(0)&&args[0].charAt(0)<='Z'){int count = 0;System.out.println("大写字母有:");for (int i = 0; i < args[0].length(); i++) {if('A'<=args[0].charAt(i)&&args[0].charAt(i)<='Z'){count++;System.out.print(args[0].charAt(i));}}System.out.println("\n大写字母有"+count+"个");}}
    }

     怎样输入命令行参数

     

  5. 编写一个应用程序,接受用户输入的第一行字符串,统计字符个数,然后反序输出。
    /*编写一个应用程序,接受用户输入的第一行字符串,统计字符个数,然后反序输出。*/
    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 implementationthrow 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时抛出一个自定异常。 

  • package ExcetpiionDome;
    class Circle{float r;Circle(float r) throws InputException{if(r<0){throw new InputException((int) r);}this.r=r;}public float Girth() {return (float) (3.14*r*r);}public float Areath() {return (float) (2*3.14*r);}
    }public class InputException extends Exception{int i;InputException(int n){i = n;}public String toString(){return "ErrorInputException"+i+"请输入大于0的值";}
    }
    

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

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


http://chatgpt.dhexx.cn/article/GCBG5H1d.shtml

相关文章

Java程序设计与实践教程

Java简介&#xff1a; Java的名字来源于印度尼西亚爪哇岛的英文名&#xff0c;这个小岛因盛产咖啡而闻名。JavaBeans&#xff08;咖啡豆&#xff09;&#xff0c;Sun和Java的标识也正是一杯冒着热气的咖啡。Sun&#xff08;Stanford University Network&#xff09;公司被美国…

java入门-java程序

前言 java入门系列&#xff0c;自我学习总结&#xff0c;用来记录一些入门简单的知识点和自己的思考总结&#xff0c;不会很详细的进行记录。 参考文档地址&#xff1a;菜鸟教程 参考文档地址&#xff1a;廖雪峰 Java 教程 参考视频笔记&#xff1a;b站尚硅谷 什么是计算机程…

《Java语言程序设计》

一、Java概述 Java是简单的&#xff0c;面向对象的语言&#xff0c;具有分布性、安全性、健壮性&#xff1b;最初版本是解释执行的&#xff0c;后期增加了编译执行&#xff1b;是多线程的、动态的&#xff1b;最主要的是与平台无关&#xff0c;解决了软件移植的问题。 Java语…

Java程序设计教程(第3版)雍俊海 全书例程-1

按书的页码排列 如果代码有误&#xff0c;欢迎评论区指正&#xff01; p14简单招呼程序例程 public class J_HelloJava {public static void main(String args[ ]){System.out.println("Java语言&#xff0c;您好!");System.out.println("我将成为优秀的Java程…

Java程序设计基础——简单Java程序

简单Java程序 一、Java应用程序1.HelloWorldApp源代码&#xff1a;编译运行&#xff1a; 二、Java小应用程序1.HelloApplet源代码&#xff1a;编译运行&#xff1a; 2.firstApplet源代码&#xff1a;编译运行&#xff1a; 一、Java应用程序 1.HelloWorldApp 源代码&#xff1…

java程序入门

java程序基础入门 第1章 认识java1.1 Windows系统Java开发环境搭建1.2 Java运行及原理分析1.3 java基础语法1.4 本章小结 第2章 变量&运算符2.1 变量的概念和作用2.2常量2.3 数据类型2.4 运算符2.5 本章小结 第3章 流程控制语句3.1 选择结构3.2 循环语句 第1章 认识java J…

Java程序设计入门教程--类的行为

类的成员方法是Java描述类对象行为的途径。成员方法的定义应包含两部分内容&#xff1a;方法声明和方法体。 方法定义常用的格式如下&#xff1a; [public/protected/private][static][final/abstract] returnType methodName([param List]) [throw…

Java入门之基础程序设计

1、Java语言特点了解 1. java语言&#xff1a; 有些语言提供了可移植性、垃圾收集等机制&#xff0c;但是没有提供一个大型的库。如果想要有酷炫的绘图功能、网络连接功能或者数据库存取功能&#xff0c;就必须动手编写代码。Java具备所有这些特性&#xff0c;它是一种功能齐…

Java程序设计(一)

终于开Java课了&#xff0c;完全没动力学习O__O "… 环境 JDK-11.0.2 eclipse-jee-2018-12-R-win32-x86_64 都是官网找最新版本下的。 Java语言基础 实验编号&#xff1a; 实验一 实验主题&#xff1a; Java语言基础 实验目的&#xff1a; (1)熟悉使用Eclipse、Netbe…

Java语言程序设计(基础篇)

网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用&#xff0c;下载后请24小时内删除&#xff0c;支持正版&#xff0c;喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击“普通下载”)购买正版 封页 编辑推荐 Java语言的经典教材&#xff0c;多年来…

Java的基本程序设计

前言: 阅读完本章,你将学习到Java的基本类型、变量与常量、运算符及其进阶部分。 注:关于进阶部分将会标注 " * " , 初学者可以跳过。 目录 一, 变量与常量 1.1 声明变量 1.2 变量的命名规则 1.3 变量初始化 1.4 常量 二, Java基本数据类型 2.1 基本数据类型&…

Java程序设计基础

Java程序设计基础 Java最早是由SUN公司&#xff08;2009年4月被Oracle收购&#xff09;的James Gosling&#xff08;詹姆斯高斯林Java之父&#xff09;在上个世纪90年代初开发的一种编程语言&#xff0c;最初被命名为Oak&#xff0c;在1995年以Java的名称正式发布&#xff0c;1…

java语言程序设计-基础篇

第1章&#xff0c;计算机、程序和Java概述 包括【每个java初学者都应该搞懂的问题】 http://blog.csdn.net/haobo920/article/details/5784990 1&#xff0c;java背景 特点&#xff1a; 一次编译&#xff0c;到处运行&#xff08;Write Once, Run Anywhere.&#xff09;。 原理…

Java程序设计案例教程

目录 1. java初步 1.1 Java基础知识 1.2 创建第一个Java项目 1.3 Java API 帮助文档 1.4 小结 1. java初步 1.1 Java基础知识 1.1.1 Java编程开发简介 1.Java版本 Java SE 应用于桌面环境 桌面应用开发 …

Java程序设计入门教程--包

情形 在Java中&#xff0c;包(package)是一种松散的类的集合&#xff0c;它可以将各种类文件组织在一起&#xff0c;就像磁盘的目录&#xff08;文件夹&#xff09;一样。包的管理机制提供了类的多层次命名空间避免了命名冲突问题&#xff0c;解决了类文件的组织问题&#xff0…

JAVA语言程序设计

计算机、程序和JAVA概述 一、计算机概述和编程语言 一&#xff09;、Java语言的发展 60年代->提出对象与实例的概念&#xff0c;并引入了类。 1960年代由Simula 67语言引入面向对象的基本概念。Simula这一语言是Ole-Johan Dahl 和Kristen Nygaard在挪威奥斯陆计算机中心为…

JAVA语言程序设计基础入门技术教程

JAVA语言程序设计基础 第一章&#xff1a;JAVA入门基础–开山篇 视频&#xff1a;https://edu.csdn.net/course/detail/8034 前言&#xff1a;什么是java 是咖啡飘香的清晨是斯坦福校园意浓情深是James的思想睿智是剁手党双十一挥舞的利刃是大数据服务的平台是春运时节那期…

Java程序设计入门教程--Java语言概述

目录 1.1 Java语言诞生与发展 1.2 Java语言的特点 1.3 运行机制与虚拟机 1.1 Java语言诞生与发展 Java语言的诞生最早可以追溯至1991年&#xff0c;那时称为OAK语言&#xff0c;是SUN公司为一些消费性电子产品而设计的一个通用环境&#xff0c;其最初目的只是为了开发一种独…

Java程序设计--Java入门(一)

Java入门 1、Java概述1.1 Java语言发展史1.2 Java语言跨平台原理1.3 JRE和JDK1.4 JDK的下载和安装 2. 入门程序HelloWorld2.1 常用DOS命令2.2 Path环境变量的配置2.3 HelloWorld案例2.4 HelloWorld案例常见问题 3、IDEA安装使用3.1 IDEA概述、安装3.2 IDEA编写程序3.3 IDEA设置…

Java程序设计教程(第3版)雍俊海 全书例程-2

p301随手画面板例程 import java.awt.Dimension; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import java.awt.Graphics; import java.awt.Point; import java.util.Vector; import javax.swing.JPan…