湖北师范大学-Java入门 - 数组进阶

EduCoder Java入门 - 数组进阶 第1关:数组的复制 任务描述 本关任务:完成将一个数组的值复制给另一个数组。 相关知识 本关需要你完成数组的复制操作,可以分三个步骤来实现。 创建一个数组arr2,数组长度和数组arr1相同; 使用循环将数组1中的每一个数据赋值给数组2中对应的那一项。(即arr2[0] = arr1[0]); 循环输出复制之后arr2中的所有数据。 编程要求 在右侧编辑器Begin-End中填充代码,将arr1数组中的数据全部复制给arr2数组,最后输出arr2中所有的数据。 测试 阅读详情

目录

第1关:数组的复制

第2关:数组中元素的查找

第3关:交换算法

第4关:选择排序

第5关:冒泡排序


第1关:数组的复制

编程要求
在右侧编辑器Begin-End中填充代码,将arr1数组中的数据全部复制给arr2数组,最后输出arr2中所有的数据。

测试说明
我会对你的程序进行测试,如下:
测试输入:1,3,12
预期输出:
1
3
12
测试输入:2,13,11
预期输出:
2
13
11

开始你的任务吧,祝你成功!

package step1;

import java.util.Scanner;

public class HelloWorld {
	public static void main(String[] args) {
		//动态构建arr1
		int[] arr1 = new int[3];
		Scanner sc = new Scanner(System.in);
		for(int i = 0 ; i< arr1.length ; i++){
			arr1[i] = sc.nextInt();
		}
		/********** Begin **********/
		//创建数组arr2
		int[] arr2 = new int[3];
        
		
		//使用for循环将arr1的数据复制给arr2
		int i=0;
		for(int k = 0 ; k< arr2.length ; k++){
			arr2[k] = arr1[i];
            i++;
		}
		
		
		//输出arr2
		for(i=0;i<arr2.length;i++)
        {
            System.out.println(arr2[i]);
        }
		
		
		/********** End **********/
	}
}

第2关:数组中元素的查找

编程要求
在右侧编辑器Begin-end处填充代码,实现在数组中查找指定字符串位置的功能。

测试说明
测试输入:张三
预期输出:张三在数组的第1个位置

测试输入:张富贵
预期输出:张富贵在数组的第5个位置

开始你的任务吧,祝你成功!

package step2;

import java.util.Scanner;

public class HelloWorld {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		//str为要查找的字符串
		String str = sc.next();
		
		/********** Begin **********/
		//创建数组   arr  给数组赋值 {"张三","张三丰","张无忌","王二麻子","张富贵"}
		String arr[]={"张三","张三丰","张无忌","王二麻子","张富贵"};
        
        for(int i=0;i<arr.length;i++)
        {
            if(arr[i].equals(str))
            System.out.println(arr[i]+"在数组的第"+(i+1)+"个位置");

        }

		/********** End **********/
	}
}

第3关:交换算法

编程要求
是时候检验一下啦,在右侧编辑器Begin-end中填充代码,完成两个变量的交换吧。

测试说明
测试输入:3,5
预期输出:
5
3
测试输入:4,2
预期输出:
2
4

开始你的任务吧,祝你成功!

package step3;

import java.util.Scanner;

public class HelloWorld {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		int b = sc.nextInt();
		/********** Begin **********/
		//将a的值赋给b   b的值赋给a
		int c;
        c=a;
        a=b;
        b=c;

		/********** End **********/
		System.out.println(a);
		System.out.println(b);
	}
	
}

第4关:选择排序

编程要求
在右侧Begin-End区域中添加代码,实现对数组arr的降序排序,并输出排序后的arr数组。

测试说明
我会对你的程序进行测试;
预期输入:6,6,5,0,2,8,9
预期输出:[9, 8, 6, 5, 2, 0]

预期输入:4,3,12,1,13
预期输出:[13, 12, 3, 1]

开始你的任务吧,祝你成功!

package step4;

import java.util.Arrays;
import java.util.Scanner;

public class HelloWorld {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//动态创建数组
		int[] arr = new int[sc.nextInt()];
		for(int i = 0 ; i< arr.length ; i++){
			arr[i] = sc.nextInt();
		}
		/********** Begin **********/
        
		for(int i=0;i<arr.length-1;i++)
        {
           int max=i;
            for(int j=(i+1);j<arr.length;j++)
            {
                if(arr[max]<arr[j])
                {
                    max=j;
                }
            }
                    int temp=arr[max];
                    arr[max]=arr[i];
                    arr[i]=temp;
                
            
        }
		System.out.println(Arrays.toString(arr));
			/********** End **********/
	}
}

第5关:冒泡排序

编程要求
在编辑器Begin-end处填充代码,使用冒泡排序对数组arr进行升序排序,最后输出排序之后数组arr中的数据。

测试说明
预期输入:6,9,5,8,0,2,6
预期输出:[0, 2, 5, 6, 8, 9]

预期输入:4,3,12,13,0
预期输出:[0, 3, 12, 13]

开始你的任务吧,祝你成功!

package step5;

import java.util.Arrays;
import java.util.Scanner;

public class HelloWorld {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//动态创建数组
		int[] arr = new int[sc.nextInt()];
		for(int i = 0 ; i< arr.length ; i++){
			arr[i] = sc.nextInt();
		}
		/********** Begin **********/
        int n=arr.length;
	for(int i=0;i<n-1;i++)
    {
        int min=i;
        for(int j=i+1;j<n;j++)
        {
            if(arr[min]>arr[j])
           {
                min=j;
                int temp=arr[i];
                arr[i]=arr[j];
                arr[j]=temp;
                i++;
           }
           else{
           min++;
           i++;
           }
        }
         n--;
        i=0-1;
    }
 System.out.println(Arrays.toString(arr));
	
		/********** End **********/
	}
}	

排序算法之选择排序 今天来给大家介绍一下排序算法之选择排序(Selection sort)是一种简单直观的排序算法,也是一种不稳定的排序方法。 阅读详情

相关推荐

湖北师范大学操作系统实验:第二题:基于响应比的进程调度算法

HBNU,操作系统实验题:基于响应比的进程调度算法

论如何更高效的送外卖 586

Educoder - Java入门 - 数组进阶各关卡题目总结

第1关:数组的复制 1、编程要求:   在右侧编辑器Begin-End中填充代码,将arr1数组中的数据全部复制给arr2数组,最后输出arr2中所有的数据。 2、测试效果:   我会对你的程序进行测试,如下:   测试输入:1,3,12   预期输出:   1   3   12   测试输入:2,13,11   预期输出:   2   13   11 3、程序设计思路:  (1)数组的数组名中储存的实际是数组的地址值,所以不能用数组名直接复制。  (2)采用for循环将arr1里面的元素循环赋予arr2里

刘向阳的博客 1万+

educoder——面向对象程序设计java——实验实训——实验一 - 语言基础

第1关:Java 循环结构之 for 循环 编程要求 是不是会用了呢?来试试吧,在右侧编辑器Begin-End中填充代码,用for循环实现一个自然数N的阶乘。 例如:给定一个数数N=5,那么它的阶乘为1*2*3*4*5。 效果图如下: 测试说明 平台会对你编写的代码进行测试,若与预期输出一致,则算通关。 第2关:for循环的进阶使用-嵌套循环 编程要求 请在右侧编辑器Begin-End中填充代码,实现两个三角形的打印输出,效果图如下: 测试说明 平台会对你编...

zj5566778899的博客 3796

JAVA头哥作业08 Java入门 - 数组进阶

处填充代码,实现在数组中查找指定字符串位置的功能。中填充代码,完成两个变量的交换吧。进行升序排序,最后输出排序之后数组。是时候检验一下啦,在右侧编辑器。处填充代码,使用冒泡排序对数组。区域中添加代码,实现对数组。的降序排序,并输出排序后的。数组中的数据全部复制给。

nianci602的博客 5463

Java入门 - 数组进阶

第1关:数组的复制 本关任务:完成将一个数组的值复制给另一个数组。 package step1; import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { //动态构建arr1 int[] arr1 = new int[3]; Scanner sc = new Scanner(System.in); for(i

Junds0的博客 2619

《面向对象程序设计学期实训》

《面向对象程序设计学期实训》 实训报告 学 院 :计算机与信息工程学院 专 业 :计算机大类 班 级 : 学 生 学 号 : ...

popoywei的博客 1264

湖北师范大学java习题汇编(超详细!已经进行了章节划分)

表达式和流程控制语句 1.验证歌德巴赫猜想。一个充分大的偶数(大于或等于6)可以分解为两个素数之和。 试编程序,将 6至50之间全部偶数表示为两个素数之和。 package kkkk; public class aaa { public int isprime(int n)/*判断n是否为素数的函数*/ { int x=0; for(int j=2;j<n;j++) if(n%j==0) { x=0; break; }else x=1; return x; } public

JAVA领域优秀创作者 9939

Python实战:3种高效方法将txt转csv(附pandas对比测试)

本文针对Python中将txt文件转换为csv格式的需求,深度评测了open()、csv模块和pandas三种主流方法。通过详尽的性能对比测试,从执行效率、内存占用和适用场景等维度提供选型指南,帮助开发者根据数据规模与复杂度选择最高效的转换方案。

weixin_29073241的博客 262

湖北师范大学-Java入门 - 数组基础

在Begin-End区域中定义一个int类型数组 scores,录入三个值,91,88,60,最后输出数组中的三个值。使用本关所学知识,根据右侧编辑器Begin-End中提示补充代码,赋值并输出数组中的信息。测试输入:5,1,151,12,22,100;测试输入:4,91,51,2,32;数组中的第二个数据为:张无忌。数组中的第三个数据为:张三丰。数组中的第四个数据为:张岁山。数组中的第二个数据为:张无忌。数组中的第三个数据为:张三丰。数组中的第四个数据为:张岁山。数组中的第一个数据为:张三。

柠檬喝汽水的博客 418

M2DGR数据集在一些SLAM框架上的配置与运行:ORB-SLAM系列、VINS-Mono、LOAM系列、FAST-LIO系列、hdl_graph_slam

为了说明以上这些SLAM框架的测试与数据集适配,以M2DGR数据集为例进行各自的配置与运行,方便我以后适配自己的数据集,运行的SLAM框架包括:ORB-SLAM2、ORB-SLAM3、VINS-Mono、A-LOAM、LeGO-LOAM、LIO-SAM、LVI-SAM、FAST-LIO2、FAST-LIVO、Faster-LIO、hdl_graph_slam。实验基于Ubuntu20.04,其中ORB、VINS-Mono、和LOAM系列的安装参考我以前的博客,有详细的安装方法,其他的框架在后面会简单介绍一下

zardforever123的博客 1万+

【Clickhouse从入门到精通】第60篇:ClickHouse生态总结与未来展望

ClickHouse系列收官总结 本文作为《ClickHouse从入门到精通》系列的第60篇收官之作,系统回顾了整个系列的知识体系。文章从基础概念到高级应用,全面梳理了ClickHouse的核心技术: 知识体系:完整回顾了60篇文章的知识图谱,包括列式存储原理、MergeTree引擎家族、分布式架构等核心内容 生态工具:详细盘点了ClickHouse的企业版工具、运维监控、数据集成和可视化方案 版本演进:分析了从21.x到24.x的主要版本特性升级 未来趋势:展望了向量化引擎、湖仓一体、AI集成等发展方向

xyghehehehe的专栏 441

湖北师范大学Java实验四

可以用整型数的16个二进制位表示16支足球队小组出线的情况,每一位代表一支参赛队,其值为1表时该队出线,其值为0表示该队未能出线。第16队,如果当前表示出线情况的int型值为50083,请输出哪些队获得了出线权?编程序求共有多少对这种性质的两位数(个位与十位相同的不在此列,如11、22,重复出现的不在此列,如 13*62与62*13)。4. 输入1到7之间的某个整数,输出相应的星期:Monday、 Tuesday 等等,用switch语句实现。提示:如果 n & 1 的结果等于1,说明第1队出线。

柠檬喝汽水的博客 603

别再为GEE注册发愁了!用谷歌Cloud Project,5分钟搞定谷歌地球引擎账户(保姆级图文)

本文提供2024最新版谷歌地球引擎(GEE)账户注册的保姆级教程,通过谷歌Cloud Project快速完成注册,5分钟极速通关。详细解析注册前的准备、分步图解流程、常见误区及解决方案,帮助用户避开90%的注册陷阱,直达GEE核心功能区。

weixin_42557830的博客 200

湖北师范大学-Java高级特性 - IO流

编程要求请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下:读取src/step2/input/目录下的task.txt文件信息并输出到控制台,使用Java代码将字符串learning practice写入到src/step2/output/目录下的output.txt,若文件目录不存在,则创建该目录。注意:临时字节数组需要定义长度为8位,否则会有空格。测试说明。

柠檬喝汽水的博客 524

Oracle数据库安装及配置(Oracle19c)

Windows 10安装Oracle 19c教程

weixin_69200200的博客 2万+

RK3588S开发板实战:手把手教你搞定IMX415摄像头驱动配置(附调试日志分析)

本文提供了一份详细的RK3588S开发板配置IMX415摄像头驱动的实战指南。内容涵盖从环境准备、内核驱动编译、设备树节点编写到调试日志分析的完整流程,并重点解析了摄像头调试过程中的常见问题与解决方案,帮助开发者快速完成驱动配置与功能验证。

weixin_28285943的博客 205

湖北师范大学操作系统实验:第六题:模拟三种内存分配算法

​ 当采用可空分区分配方案对1024KB的内存进行管理时,要求输入多个进程已经占用分区信息、一个进程内存请求以及所选用的分配算法,输出显示分配给进程的分区信息。​ 该程序模拟了三种内存分配算法:​

论如何更高效的送外卖 404

基于gm/id方法的折叠式共源共栅放大器设计实践

本文详细介绍了基于gm/id设计方法进行折叠式共源共栅放大器设计的完整流程。该方法通过确定晶体管的跨导效率(gm/id)作为核心设计参数,将复杂的放大器设计转化为有明确路径的优化问题。文章以设计一个增益80dB、带宽1GHz的两级放大器为例,逐步拆解了从指标分解、关键晶体管工作点选取、到实战仿真与微调的全过程,特别强调了第二级设计对稳定性的影响以及相位裕度的调试技巧。

w8x9y0z1的博客 415

java面向对象期末考试试题_湖北大学JAVA面向对象期末考试试题

作业1一、选择题1.下面关于Java 语言特点的描述中,错误的是(A )。A.Java是纯面向对象编程语言,支持单继承和多继承。B.Java支持分布式的网络应用,可透明地访问网络上的其他对象。C.Java支持多线程编程。D.Java程序与平台无关、可移植性好。2.编译Java程序后生成的面向JVM的字节码文件的扩展名是(B )。A..java B..class C..obj D..exe3.Jav...

weixin_39610956的博客 1703

五种音频器件综合对比——《器件手册--音频器件》

音频器件当在蜂鸣片的两片电极之间接通交流音频信号时,蜂鸣片会根据信号的大小和频率发生振动,从而产生相应的声音。结构简单、造价低廉。广泛应用于玩具、电子表、电子仪器、电子钟表、定时器等电子电器方面。蜂鸣器是一种一体化结构的电子讯响器,采用直流电源供电,广泛应用于各种电子产品中作发声器件有源蜂鸣器:内部带震荡源,通电即发声,程序控制方便。无源蜂鸣器:内部不带震荡源,需用方波驱动,声音频率可控,价格相对便宜。计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品。

XU157303764的博客 1535

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

自定义注解、反射机制、Java内存分析、Class类的常用方法、Class类的获得方式、发生类的初始化、通过反射动态的创建对象执行方法、setAccessible、反射获取泛型信息、反射获取注解信息

反射 代码笔记1、注解2、反射机制2.1 Java反射的优缺点2.2反射相关的常用API3、 Java内存分析3.1 Java内存4、 Class类4.1Class类的常用方法4.2 Class类的获得方式4.3 哪些类型可以有Class对象4.4类的加载过程4.5 类的加载与ClassLoader的理解4.6 发生类的初始化4.7、创建运行时类的对象4.8动态创建对象执行方法4.9 setAccessible5、性能对比6、反射获取泛型信息7、反射获取注解信息 1、注解 使用@interface自定义注

qq_40835432的博客 730

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ccf分区查询_CCF CSP和CCF CCSP简介

原标题:CCF CSP和CCF CCSP简介一、CCF CSP认证(CCF计算机软件能力认证 Certified Software Professional)中国计算机学会(CCF)联合华为、360、滴滴等十余家知名IT企业以及清华、北航、国防科大等15所著名高校于2014年推出CCF CSP(计算机软件能力)认证标准,用于评价业界人士的计算机软件能力。截至2019年3月,CCF CSP认证在全国...

weixin_33820059的博客 3361

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

C语言之字符串强化练习题

请仔细阅读右侧代码,根据方法内的提示,在Begin - End区域内进行代码补充,具体任务如下: 将字符串s转化为整型返回。 输入格式:输入包括一行,是一个字符串(只包含数字和‘-’)。 输出格式:输出只有一行,转换后的整数。 测试说明: 测试输入: -123。 预期输出: -123。 测试输入: 45。 预期输出: 45。 #include <stdio.h> int atoi(char s[]) { int num = 0; int sign = 1..

scx1789的博客 2255

2019.9.17java里关于字符串的==

直接复制图片好了,哈哈 原文图片是educoder里面的 结果为 是因为==比较的是两个对象的内存地址,我们知道变量被创建的时候就相当于在内存中开辟空间,而案例中str和str1就是占用的两块不同的空间,所以他们的内存地址是不一致的,在用==符号判断的时候就不相等了,即为false。 所以记住对于对象的引用来说==是比较引用的地址,既引用的值 现在在来看...

aliangpiao9235的博客 260

java---数组复制

int[] src = {1,3,5,7,9,11,13,15,17};   int[] dest = {2,4,6,8,10,12,14,16,18,20};     //copyOf(是复制src数组从0开始的两个元素到新的数组对象) int[] copyof=Arrays.copyOf(src, 2);       System.out.println(Arrays.

huyishero的博客 549

数组 复制数组

/** (int)(Math.random()*100) 上面的代码作用是用于获取0-100的随机数 Math.random()会得到一个0-1之间的浮点数,然后乘以100,并强转为整型即可 */ /** for each语句是java 中for语句的简化版本, 格式: for(元素数据类型 元素变量:遍历对象) { //循环体内容 } */ ///** // * 数组的长度是不可变的...

qq_42919799的博客 573
上一篇: 湖北师范大学-Java入门 - 循环结构进阶
汽水爆炸
博客等级 码龄4年 1903粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值