JAVA期末速成库(7)第七、八章

一、习题介绍

第七章

Check Point:P251 7.2,7.4,7.16,8.2

Programming Exercise:7.10,7.14,7.26

二、习题及答案

Check Point:

7.2

When is the memory allocated for an array?

7.2什么时候为数组分配内存?

答:在编程中,数组的内存分配通常发生在数组被声明并初始化时。一旦数组被声明并分配了大小,内存就会被分配给数组中的每个元素。

7.4

Indicate true or false for the following statements:

■ Every element in an array has the same type.

■ The array size is fixed after an array reference variable is declared.

■ The array size is fixed after it is created.

■ The elements in an array must be a primitive data type

7.4为下列语句指明真或假:

数组中的每个元素都有相同的类型。

在数组引用变量声明后,数组的大小是固定的。

数组的大小在创建后是固定的。

数组中的元素必须是原始数据类型

答:数组中的每个元素都有相同的类型。(真)

在数组引用变量声明后,数组的大小是固定的。(真)

数组的大小在创建后是固定的。(真)

数组中的元素必须是原始数据类型。(假,数组元素也可以是对象)

7.16

True or false? When an array is passed to a method, a new array is created and passed to the method.

7.16对还是错?当一个数组被传递给一个方法时,一个新的数组被创建并传递给该方法。

答: 这是错误的。在大多数编程语言中,数组作为对象被传递时,传递的是引用,而不是数组的副本。因此,原始数组不会被复制。

8.2

Can the rows in a two-dimensional array have different lengths?

8.2二维数组中的行可以有不同的长度吗?

答:在大多数编程语言中,二维数组的行必须具有相同的长度。二维数组实际上是一个数组的数组,每个数组(即行)必须具有相同的大小。如果需要不同长度的行,可以使用数组的数组,但这不是传统意义上的二维数组。

Programming Exercise:

7.10 (Find the index of the smallest element) Write a method that returns the index of the smallest element in an array of integers. If the number of such elements is greater than 1, return the smallest index. Use the following header:

public static int indexOfSmallestElement(double[] array)

Write a test program that prompts the user to enter ten numbers, invokes this

method to return the index of the smallest element, and displays the index.

7.10(查找最小元素的索引)编写一个返回的索引的方法整数数组中最小的元素。如果这类元素的个数为大于1,返回最小的索引。使用下面的标题:

public static int indexofsmallstelement (double[] array)

编写一个测试程序,提示用户输入十个数字,调用这个方法返回最小元素的索引,并显示该索引。

import java.util.Scanner;



public class Main {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        double[] array = new double[10];

        System.out.println("Enter 10 numbers:");

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

            array[i] = scanner.nextDouble();

        }

        int index = indexOfSmallestElement(array);

        System.out.println("The index of the smallest element is: " + index);

    }

}
public static int indexOfSmallestElement(double[] array) {

    if (array == null || array.length == 0) {

        throw new IllegalArgumentException("Array must not be null or empty");

    }

    double min = array[0];

    int minIndex = 0;

    for (int i = 1; i < array.length; i++) {

        if (array[i] < min) {

            min = array[i];

            minIndex = i;

        }

    }

    return minIndex;

}

运行结果: 

7.14 (Computing gcd) Write a method that returns the gcd of an unspecified number of integers. The method header is specified as follows:

public static int gcd(int... numbers)

Write a test program that prompts the user to enter five numbers, invokes the

method to find the gcd of these numbers, and displays the gcd.

7.14(计算gcd)编写一个方法返回一个未指定数字的gcd的整数。方法头指定如下:

Public static int gcd(int…数字)

编写一个测试程序,提示用户输入五个数字,调用方法查找这些数字的GCD,并显示GCD。

GCD值:返回两个或多个整数的最大公约数

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] numbers = new int[5];
        System.out.println("Enter 5 numbers:");
        for (int i = 0; i < 5; i++) {
            numbers[i] = scanner.nextInt();
        }
        int gcd = gcd(numbers);
        System.out.println("The GCD is: " + gcd);
    }

    public static int gcd(int[] numbers) {
        if (numbers.length == 0) {
            throw new IllegalArgumentException("At least one number is required");
        }
        int result = numbers[0];
        for (int i = 1; i < numbers.length; i++) {
            result = gcdHelper(result, numbers[i]);
        }
        return result;
    }


    private static int gcdHelper(int a, int b) {
        while (b != 0) {
            int temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }
}

运行结果: 

7.26 (Strictly identical arrays) The arrays list1 and list2 are strictly identical

if their corresponding elements are equal. Write a method that returns true if

list1 and list2 are strictly identical, using the following header:

public static boolean equals(int[] list1, int[] list2)

Write a test program that prompts the user to enter two lists of integers and dis

plays whether the two are strictly identical. Here are the sample runs. Note that

the first number in the input indicates the number of the elements in the list. This

number is not part of the list.

7.26(严格相同数组)数组list1和list2是严格相同的如果它们对应的元素相等。编写一个if返回true的方法List1和list2严格相同,使用以下标头:

Public static Boolean = (int[] list1, int[] list2)

编写一个测试程序,提示用户输入两个整数列表和dis播放两者是否完全相同。这里是运行的样本。请注意,输入中的第一个数字表示列表中元素的数量。这号码不在列表中。


public static boolean areArraysStrictlyEqual(int[] list1, int[] list2) {
    if (list1 == null || list2 == null) {
        return false;
    }
    if (list1.length != list2.length) {
        return false;
    }
    for (int i = 0; i < list1.length; i++) {
        if (list1[i] != list2[i]) {
            return false;
        }
    }
    return true;
}

public void main() {
}

运行结果

  结语

请一定相信,相信自己不止于此

相信自己值得更好

相信只要努力,岁月自有打赏

!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/748040.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

入门JavaWeb之 JSP 语法、指令、内置对象和 JSTL 标签

导入 jar 包 搜索 jstl-api、standard pom.xml 导入 jar 包 <!-- Servlet 依赖 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.1</version><scope>provid…

C语言 | Leetcode C语言题解之第200题岛屿数量

题目&#xff1a; 题解&#xff1a; void cleanLand(char** grid, int gridSize, int ColSize,int row,int column) {if(grid[row][column] 1){//不等于1则清零grid[row][column] 0;}else{//不等于1则返回return ;}int newRow;int newColumn;//上if(row ! 0) //还能上{ne…

暑假本科生、研究生怎么学?来看详细的AI夏令营规划

Datawhale夏令营 发布&#xff1a;2024 AI 夏令营 学习规划 「学习内容详览」 01机器学习方向&#xff1a;2024/7/1~7/7 「Datawhale」邀请想入门人工智能领域并实践机器学习算法的学习者和我们一起来学习~ 详细学习规划如下&#xff1a; 02大模型技术方向&#xff1a;2024/7…

【面试题】信息系统安全运维要做什么

信息系统安全运维是确保信息系统稳定、可靠、安全运行的一系列活动和措施。 其主要包括以下几个方面&#xff1a; 1.系统监控&#xff1a; 实时监测信息系统的运行状态&#xff0c;如服务器的性能指标、网络流量、应用程序的运行情况等。通过监控工具&#xff0c;及时发现系统…

M芯片 Parallels Desktop 19虚拟机安装Windows11教程

Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机&#xff0c;并于其中装设不同的操作系统&#xff0c;如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时&#xff0c;您可在 …

Volatility 内存取证【信安比赛快速入门】

一、练习基本命令使用 1、获取镜像信息 ./volatility -f Challenge.raw imageinfo 一般取第一个就可以了 2、查看用户 ./volatility -f Challenge.raw --profileWin7SP1x64 printkey -K "SAM\Domains\Account\Users\Names" 3、获取主机名 ./volatility -f Challenge…

微信小程序毕业设计-微信食堂线上订餐系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

UFS协议—新手快速入门(五)【11-13】

目录 十一、逻辑单元&#xff08;Logical Unit, LU&#xff09; 1、概念 2、UFS逻辑单元的独立特性 3、Well known LU &#xff08;1&#xff09;Boot Logical Units&#xff08;BOOT LUs&#xff09; &#xff08;2&#xff09;RPMB&#xff08;Replay Protected Memory…

使用提示词调教AI

“AI 是我们的数字员工&#xff0c;了解员工的秉性 &#xff0c; 从调教提示词开始。” 网上流传最广的提示词方法论&#xff0c;是“你需要给大模型一个角色”。这确实是一个好的策略&#xff0c;因为小学老师&#xff0c;大学老师这样的角色&#xff0c;预设很多背景信息。这…

独立开发者系列(11)——登录与鉴权

从原理上讲&#xff0c;登录很简单&#xff0c;就是输入账号密码和后台的数据库进行匹配&#xff0c;匹配上了就表示登录了&#xff0c;否则没有登录。这里主要总结的问题&#xff0c;用户登录之后&#xff0c;服务器端怎么确定你登录了&#xff0c;认定身份这个问题。 在刚学会…

德力西空调漏电保护开关HDF-LB32A40A家用电热水器漏电保护器开关

品牌 德力西 型号 HDF-LB 额定电流 40A,32A 漏电保护器类型 2P 产地 中国大陆 电压 1000V及以下 极数 2P 电源方式 交流电 3C证书编号 2020960306000014 独有外观&#xff0c;纤薄时尚&#xff0c;家用漏电保护开关&#xff0c;防触电&#xff0c;漏电保…

C语⾔数据类型和变量

C语⾔数据类型和变量 1.数据类型介绍1.1 字符型1.2 整型1.3 浮点型1.4 布尔类型1.5 各种数据类型的长度1.5.1 sizeof操作符1.5.2 数据类型长度1.5.3 sizeof中表达式不计算 2. signed 和 unsigned3. 数据类型的取值范围4. 变量4.1 变量的创建4.2 变量的分类 5. 算术操作符&#…

最新AI智能聊天对话问答系统源码(详细图文搭建部署教程)+AI绘画系统,DALL-E3文生图, Whisper TTS 语音识别,文档分析

一、人工智能 随着人工智能技术的持续进步&#xff0c;AI绘画已经发展成为一个日益成熟的领域。越来越多的人开始尝试使用AI绘画软件来创作艺术作品。尽管这些AI绘画软件对绘画领域产生了显著影响&#xff0c;但它们并不会完全取代画师。与传统手绘不同&#xff0c;AI绘画可以…

【C++】运算符重载(日期类的实现)

文章目录 前言一、运算符重载的概念和意义二、运算符重载的规则三、常用运算符重载1.关系运算符重载2.赋值运算符重载3.、-、、-重载4.前置和后置重载5.流插入<<和流提取>>重载 前言 之前在总结类的六个默认成员函数时&#xff0c;没有过多介绍运算符重载&#xf…

实时显示用户输入PySide6实例

如何用 PySide6 实现QLabel 实时显示用户在 QLineEdit 内输入的内容&#xff1f; 示例代码&#xff1a; # QLineEdit 用户输入内容&#xff0c;QLabel 即时显示用户输入训练from PySide6.QtWidgets import (QApplication, QWidget,QLabel, QLineEdit, QVBoxLayout)class MyWi…

ROS学习记录:Hector_Mapping建图的参数设置

前言 launch文件启动Hector_Mapping的建图功能 在上一篇文章&#xff08;以上链接&#xff09;通过launch文件启动了Hector_Mapping建图功能&#xff0c;这一篇文章将在launch文件里给Hector_Mapping设置参数 一、Hector_Mapping有哪些参数 1、浏览器搜索并进入 ROS index 2…

Redis-实战篇-编码解决商铺查询的缓存穿透问题(缓存空对象)

文章目录 1、缓存穿透2、常见的解决方案有两种&#xff1a;2.1、缓存空对象2.2、布隆过滤器 3、编码解决商铺查询的缓存穿透问题3.1、queryById3.2、RedisConstants.java 1、缓存穿透 缓存击穿是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存永远不会生效…

首次30米空间分辨率生成中国年度耕地栅格数据1986-2021

中国1986-2021年30米分辨率年度耕地数据集 数据介绍 精确、详细且及时的耕地范围信息对于粮食安全保障和环境可持续性至关重要。然而&#xff0c;由于农业景观的复杂性和足够训练样本的缺乏&#xff0c;在大范围下进行高时空分辨率的耕地动态监测仍然具有挑战性&#xff0c;尤其…

1.Android逆向协议-环境搭建

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易锦网校 不是安卓逆向吗&#xff1f;为什么写java代码&#xff1f;因为逆向的时候涉及java语言 JDK环境搭建&#xff1a;JDK是JAVA语…

基于RK3568车载电脑助力日本巴士公司高效完成巴士到站系统项目部署

无处不在的物联网&#xff08;IoT&#xff09;技术已经渗透到了人类生活的各个角落&#xff0c;如日常出行乘坐的公交车上&#xff0c;物联网&#xff08;IoT&#xff09;技术的应用就得到完美诠释&#xff01;其通过公交车上的车载电脑网络与中控室服务器连接来对公交车的运行…