首页 > 其他分享 >数组案例练习进阶版---查找数组中的元素

数组案例练习进阶版---查找数组中的元素

时间:2024-08-04 15:54:00浏览次数:15  
标签:进阶 int --- 数组 input 我们 输入 Scanner

今天,我们来做一个进阶版的练习,输入一个数字,来判断他在数组中是否存在:

这样的话,首先我们就需要有一个能帮助我们输入的工具,那么在Java中它长成什么样子呢?

首先我们必须在主方法的第一行写上这样一串代码:

Scanner input = new Scanner(System.in);

 这样我们就创建了一个输入工具,它的名字叫做input,当然了,这个名字其实就是一个变量名,叫a叫b都是可以的,这里我们尽量遵循见名知意的原则,起一个和输入相关的名字。

那么有了输入工具后,我们该怎样使用呢?

input.next();

 我们只需要像这样在input后加上.next()就可以了,这样一旦系统运行到这一行,就会停下来等待我们输出一个字符串,输入过后才会继续向下执行,或是像这样:

input.nextInt();

由于是nextInt,因此我们可以手动输入一个int类型的数据,但如果此时仍然想要输入字符就会出现错误了。

有了这两个方法,我们就可以手动的输入一些数据了,但只是单纯的输入似乎没有什么太大的作用,因此,我们可以把这些数据赋给对应类型的变量:

int string = input.next();

int num = input.nextInt();

 此时变量中的数据就是我们所输入的值了。

下面我们来结合一下我们之前所学的功能,做一个查找元素的小应用:

import java.util.Scanner;//刚刚我们的文章里并没有提到这行代码,大家就先当成固定格式吧,后续我会为大家讲解
public class Find {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);//创建input输入工具
        int[] nums = new int[]{17,26,35,48,49};//使用静态初始化的方式创建一个数组
        System.out.println("请输入您想要查找的数字");//输出一个提示,让用户输入数字
        int num=input.nextInt();//通过系统输入一个数字,并将该数字赋给变量num
        boolean flag=false;//一个标记,代表我们还没有找到这个数字,一旦找到了,将值改为true
        int index=0;//用来记录所找到的元素的下标
        /*
            我们让i来代表下标            
            数组的起始下标为0,因此我们把i的值设定为0,代表从第一个元素开始查找
            正常情况需要找到最后一个元素,及数组的长度-1,因此当i等于数组长度时循环结束
        */
        for (int i=0;i<nums.length;i++){
            if(num==nums[i]){//如果我们输入的数字和数组中的i位置的元素相同,说明找到了
                index=i;//我们将这个下标存进index
                flag=true;//并将标记设置为true
                break;//找到了就不用再继续找了,因此我们使用break语句来手动退出循环
            }
        }
        if(flag){
            //如果flag为true代表找到了,我们给出提示并输出它的位置
            System.out.println("您输入的数字存在,它在数组中的下标为"+index);
        }else {
            //否则分支会进入这里,代表遍历完数组中的所有的数字都没能找到,我们也给出提示
            System.out.println("很遗憾,数组中并没有您输入的数字");
        }
    }
}

以上就是全部的代码加上说明了,那么今天的内容就到这里啦,如果存在哪些疑问或问题欢迎大家指出,我们下期再见~

标签:进阶,int,---,数组,input,我们,输入,Scanner
From: https://blog.csdn.net/a2018204587/article/details/140906538

相关文章

  • 浏览器插件监听元素变动-用于直播自动回复
    直播获取评论区的原理MutationObserver是一个强大的浏览器API,它可以监听DOM的变化,包括元素的添加、删除、属性的更改等。开发需求可联系vx:llike620步骤:创建一个MutationObserver实例,并提供一个回调函数。使用observe方法指定要监控的DOM节点和具体的变动类型。在回调函数......
  • redis+xxl-job初步设计点赞功能
    一般情况下点赞业务涉及以下下几个方面:1.我们肯定要知道一个题目被多少人点过赞,还要知道,每个人他点赞了哪些题目。2.点赞的业务特性,频繁。用户一多,时时刻刻都在进行点赞,收藏等等处理,如果说我们采取传统的数据库的模式啊,这个交互量是非常大的,很难去抗住这个并发问题,所以我们......
  • 寻求 Kadane 求连续子数组最大和的算法的优化和验证
    在此处输入图像描述给定一个由N个整数组成的数组A。您希望将数组划分为不相交的连续子数组以使其良好。如果满足以下条件,则认为数组是好的数组:每个元素恰好属于一个子数组。如果我们将每个子数组替换为子数组值的MEX(排除最小值),则生成的数组将按非降序......
  • 数学建模-数据预处理(数据清洗、标准化)
    在数学建模的比赛中,数据分析类的题目中往往我们要面对大量的数据,在给出的数据中,如果数据缺失会影响到判断和后序的操作这里我们给出一个数据预处理的办法:数据清洗(DataClearning):涉及到检测和纠正数据中的错误、不完整、不准确或不适用的部分,以确保数据质量和可靠性。数据清洗......
  • F - Transpose
    原题链接题解很有意思的思想,一遇到括号就倒过来code#include<bits/stdc++.h>#definelllonglong#definelblongdouble#definelowbit(x)((x)&(-x))usingnamespacestd;constllinf=1e18;constllmod=1e9+7;constllN=4e5;llqpow(lla,lln){llres=1;......
  • 【合约协议】——2、ERC-20标准规范
    文章前言ERC-20标准规范是以太坊网络上最为流行的代币标准之一,它定义了代币合约的基本功能和接口规范,作为区块链技术的应用之一,代币合约在数字货币、数字资产和去中心化应用中扮演着重要的角色,在这个发展迅速的领域标准化是保证各方协作和互操作性的基础,而ERC-20标准规范的出......
  • 【合约协议】——3、ERC-721标准规范
    文章前言ERC-721的官方解释是"Non-FungibleTokens",英文简写为"NFT",可以翻译为不可互换的Tokens,简单地说就是每个Token都是独一无二的且不能互换的,ERC-721的诞生使得数字资产的交易和管理变得更加安全、透明、高效,它的出现也为区块链技术的发展与应用注入了新的活力,成为区块链......
  • Digitwise_addition:超出限制:如果超出 -> 代码超时
    我正在研究kata。按位加法是一种特殊的加法,它不是通常向数字加1,而是向该数字的每个数字加1。如果数字是9,我们将其替换为10,而不保留到下一个数字。示例123->234任务编写一个接受两个数字n和k的函数,并在应用数字加法k次后输出n中的位数。由于答......
  • springboot+vue景区共享电车管理系统【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,景区游客数量持续增长,传统交通方式已难以满足游客便捷、环保的出行需求。在此背景下,景区共享电车作为一种新兴的绿色出行方式,凭借其灵活便捷、低碳环保的特点,逐渐成为景区管理与游客出行的优选方案。然而,随着共享......
  • springboot+vue精品课程网站的设计与实现【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和教育理念的不断革新,精品课程网站作为现代教育资源的重要载体,正逐步成为推动高等教育质量提升的关键力量。当前,高校课程资源的数字化、网络化已成为不可逆转的趋势,学生与教师对于便捷、高效、互动性强的学习平......