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

news2024/11/19 23:22:27

一、习题介绍

第七章

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() {
}

运行结果

  结语

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

相信自己值得更好

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

!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

群体优化算法---石墨烯优化算法介绍以及在期权定价上的应用(Black-Scholes模型来计算欧式期权的理论价格)

介绍 石墨烯算法是一种新兴的优化算法&#xff0c;灵感来自于石墨烯的结构和特性。石墨烯是一种由碳原子构成的二维蜂窝状晶格结构&#xff0c;具有优异的机械、电学和热学性能。石墨烯算法通过模拟石墨烯原子之间的相互作用和迁移&#xff0c;来求解复杂的优化问题 基本概念…

力扣每日一题 特别的排列 DFS 记忆化搜索 位运算 状态压缩DP

Problem: 2741. 特别的排列 &#x1f468;‍&#x1f3eb; 参考题解 &#x1f37b; 暴搜 ⏰ 时间复杂度&#xff1a; O ( N ) O(N) O(N) class Solution {public int specialPerm(int[] nums) {boolean[] visited new boolean[nums.length];return dfs(nums, 0, -1, visit…

一个Mongodb案例-使用地理信息查询酒店

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第79篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

vue3项目登录成功后根据角色菜单来跳转指定页面(无首页)

前言&#xff1a;需求不想要首页&#xff0c;登录什么角色跳转到这个角色经常使用的页面。&#xff08;例如&#xff1a;审核者角色的人输入用户名密码成功后就自动跳转到待审核的页面&#xff0c;仓库管理员登录成功则自动跳转到仓库列表&#xff09; 需要解决的点和想法&…

Linux笔记之Bash脚本中的EOF

Linux笔记之Bash脚本中的EOF code review! 文章目录 Linux笔记之Bash脚本中的EOF基本用法自定义结束符变量替换禁用变量替换用于脚本嵌入重定向到文件与命令组合总结 在 Bash 脚本中&#xff0c; EOF 通常用于定义一个多行字符串或文档块。这种技术被称为“Here Document”&a…

python基础语法 003-3 数据类型元组

1 元组 1.1 元组含义 1.1.1 元组的表示 #元组的表示方法:() names ("xiaoyun", "xiaoming") print(names)--结果------- (xiaoyun, xiaoming) 1.1.2 空元组 #空元组 names () print(type(names)) print(len(names))----------------结果--------- &l…

802.11漫游流程简单解析与笔记_Part2_02_wpa_supplicant、cfg80211、nl80211内核与驱动的关系

wpa、cfg80211、nl80211内核与驱动的关系示意图如下&#xff1a; nl80211和cfg80211都是内核定义的标准接口&#xff0c;目的是规范驱动和应用的统一调用&#xff0c;wpa中常出现nl80211就是通过内核的nl80211接口调用对应cfg80211的部分&#xff0c;进而控制驱动收发数据或切换…

禁止浏览器对input的自动填充和填充提示(适用于谷歌、火狐、Edge(原IE浏览器)等常见浏览器)

目录 1.要解决的问题2.一技能&#xff1a;原生属性&#xff0c;小试牛刀3.二技能&#xff1a;傀儡input&#xff0c;瞒天过海4.三技能&#xff1a;JavaScript出击&#xff0c;直接开大 写在前面&#xff1a; 如有转载&#xff0c;务必注明出处&#xff0c;否则后果自负。 1.要解…

基于STM32设计的智能家居远程调温系统(通过红外线控制空调)_75

文章目录 一、前言1.1 项目介绍【1】项目功能介绍【2】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 设计的意义1.4 开发工具的选择1.5 系统框架图1.6 系统功能总结1.7 原理图二、硬件选型2.1 ESP8266-串口WIFI2.2 STM32F103C8T6开发板2.3 红外学…

已解决java.beans.IntrospectionException: 在Java Beans中内省过程失败的正确解决方法,亲测有效!!!

已解决java.beans.IntrospectionException: 在Java Beans中内省过程失败的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 检查命名规范 验证Getter/Setter匹配性 确认访问权限 审查类型一致性 简…

charls抓包工具 mumu模拟器抓包apk

1.先安装mumu 官网添加链接描述 2.配置 设置&#xff0c;点进互联网&#xff0c;点编辑&#xff0c;选择手动代理 主机名写自己电脑的ip地址&#xff0c;端口随便&#xff0c;只要不被占用&#xff0c;一般参考其他人都是8888 3.下载charls 参考这个添加链接描述 先官网…

静态时序分析:ideal_clock、propagated_clock以及generated_clock的关系及其延迟计算规则(一)

相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 理想时钟(ideal_clock)、传播时钟(propagated_clock)是两种相对的时钟&#xff0c;理想时钟用于时钟树综合(CTS)前&#xff0c;而传播时钟用于时钟树综合后。生成…

flink-触发器Trigger和移除器Evictor

Trigger 触发器 触发器作用&#xff1a;控制窗口什么时候除法计算。即执行窗口函数&#xff1b;基于WindowStream调用trigger&#xff08;&#xff09;方法&#xff0c;传入自定义触发器&#xff08;trigger&#xff09;&#xff1b; 每一个窗口分配器&#xff08;windowAssi…

Websocket在Java中的实践——握手拦截器

在《Websocket在Java中的实践——最小可行案例》一文中&#xff0c;我们看到如何用最简单的方式实现Websocket通信。本文中&#xff0c;我们将介绍如何在握手前后进行干涉&#xff0c;以定制一些特殊需求。 在《Websocket在Java中的实践——最小可行案例》的基础上&#xff0c;…

工商业储能柜用的Acrel-2000ES储能能量管理系统-安科瑞 蒋静

概述 Acrel-2000ES储能能量管理系统&#xff0c;专门针对工商业储能柜、储能集装箱研发的一款储能EMS&#xff0c;具有完善的储能监控与管理功能,涵盖了储能系统设备(PCS、BMS、电表、消防、空调等)的详细信息&#xff0c;实现了数据采集、数据处理、数据存储、数据查询与分析…

数字化世界的守卫之防火墙

在这个数字化的时代&#xff0c;我们的电脑和手机就像是一座座繁华的城市&#xff0c;而病毒和黑客则是那些潜伏在暗处的敌人。但别担心&#xff0c;我们有一群忠诚的守卫——“防火墙”&#xff0c;它们日夜守护着我们的数字家园。 1. 病毒&#xff1a;数字世界的“瘟疫” 想象…

CNware虚拟化平台功能介绍:虚拟机业务连续性保护,确保核心业务持续运行,构筑稳健的数字防线

全球数字化转型的大潮中&#xff0c;虚拟化技术已成为企业IT架构的基石。据Gartner预测&#xff0c;到2026年&#xff0c;全球90%以上的组织将采用某种形式的虚拟化技术。虚拟化环境的广泛应用&#xff0c;不仅提升了资源利用率、降低了成本&#xff0c;更极大地增强了业务灵活…

PDF转成清晰长图

打开一个宝藏网址在线PDF转换器/处理工具 - 在线工具系列 点击图下所示位置 按照图下所示先上传文件&#xff0c;设置转换参数后点击转换&#xff0c;等待 等待转换完成后&#xff0c;可以在转换结果处选择下载地址&#xff0c;点击即可进行下载使用了。对比了其他几个网站的转…

在Python中使用类继承提高代码复用性使用详解

概要 在面向对象编程(OOP)中,继承是一种创建新类的方式,这些新类继承了一个或多个父类的特性。Python 中的继承允许我们定义保持代码通用性和简洁性的类层次结构。本文将详细探讨 Python 中的类继承机制,包括基本继承、多重继承、方法重写以及使用 super() 函数的技巧,并…

无线幅频仪制作(WiFi通信)-含STM32源程序,JAVA上位机与设计报告

资料下载地址&#xff1a;无线幅频仪制作(WiFi通信)-含STM32源程序,JAVA上位机与设计报告 目录 项目功能 1、 系统方案1.1 比较与选择 1.1.1 控制器的论证与选择 1.1.2 信号源的论证与选择 1.1.3 放大器模块的论证与选择 1.1.4 键盘与显示模块的论证与选择 1.1.5 网络通…