查找某个定义长度为10的整型数组,循环输入10个整数,然后输入一个整数,查找此整数。找到输出下标,没找到给出提示
发布日期:2021-06-27 12:55:40 浏览次数:14 分类:技术文章

本文共 1497 字,大约阅读时间需要 4 分钟。

查找某个整数

查找某个定义长度为10的整型数组,循环输入10个整数,然后输入一个整数,查找此整数。找到输出下标,没找到给出提示

package tasks03;import java.util.Arrays;import java.util.Scanner;public class Task1_searchInteger {
   /** * 查找某个整数 * 定义长度为10的整型数组,循环输入10个整数,然后输入一个整数,查找此整数 * 找到输出下标,没找到给出提示 * @param args */
public static void main(String[] args) {    
Scanner sc = new Scanner(System.in);
System.out.println("请输入一组数组,用空格隔开");
String[] str = sc.nextLine().toString().trim().split(" ");
int[] arr = new int[str.length];
for (int i = 0; i < arr.length; i++) {    
arr[i] = Integer.parseInt(str[i]);
}
//对数组进行冒泡排序
int temp = 0;
//外层循环arr.length-1次
for(int i=0;i for(int j =0;j if(arr[j]>arr[j+1]) {    
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("输入要查找的数:");
int search = sc.nextInt();
//排序完成,利用二分查找
//定义最小下标
int minIndex = 0;
//定义最大下标
int maxIndex=arr.length-1;
//定义中间下标
int centerIndex = (minIndex+maxIndex)/2;
while(true) {    
if(arr[centerIndex]>search) {    
maxIndex = centerIndex-1;
}else if(arr[centerIndex] minIndex = centerIndex+1;
}else {    
//找到了,即退出
break;
}
if(minIndex > maxIndex) {    
System.out.println("要查找的数据不存在");
break;
}
//当边界发生变化, 需要更新中间下标
centerIndex = (minIndex+maxIndex)/2;
}
System.out.println("排序后的数组为"+Arrays.toString(arr));
System.out.println("要查找的数值的下标为"+centerIndex);
}
}

转载地址:https://blog.csdn.net/weixin_43454088/article/details/115601688 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java基础测试问题
下一篇:流程控制

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2023年03月21日 09时52分21秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

win7安装python3.6失败_win7下python3.6安装配置方法图文教程 2019-12-02 01:43:31
python读取sas数据集_Python 数据处理库 pandas 入门教程基本操作 2019-12-02 01:43:31
python3字符串操作_python3字符串常用方法 2019-12-02 01:43:32
python字典添加元素使用技巧大全_字典里添加元素有哪些方法 2019-12-02 01:43:32
windows安装python3步骤_windows下python3第三方库安装方法总结 2019-12-02 01:43:29
python 通过模板生成文章_自动生成文章_python自动生成文章 - 云+社区 - 腾讯云 2019-12-02 01:43:30
python多线程下载编程_Python多线程结合队列下载百度音乐代码详解 2019-12-02 01:43:30
python包管理工具pip_pip_python包管理工具(pip)下载 v9.0.1官方版 - 121下载站 2019-12-02 01:43:30
outlook qr码在哪里_聚合码微信支付宝申请开通,商家融合收款码实现一码支付,如何申请微信和支付宝合并收款码?聚合码支持信用卡、花呗、微信和支付宝收款... 2019-12-02 01:43:30
python画图x轴时间间隔_matplotlib绘图-设置横坐标为日期显示范围与间隔 2019-12-02 01:43:30
react组件卸载调用的方法_React组件如何还能跑得再快一点 2019-12-02 01:43:28
小程序直播 OBS 画质_教你玩转微信小程序直播 2019-12-02 01:43:28
python按位与怎么算_基础的十进制按位运算总结与在Python中的计算示例 2019-12-02 01:43:28
python工程文件如何打包_python 项目打包 2019-12-02 01:43:29
ant design vue table 高度自适应_Table行内的开关组件的使用 2019-12-02 01:43:29
python中函数包括_python中有哪些函数 2019-12-02 01:43:29
python怎么放音乐_python怎么播放音乐 2019-12-02 01:43:29
win10默认安装路径修改_问题解答|Win10电脑重启桌面图标就变乱的解决方法! 2019-12-02 01:43:27
什么是python自动化测试_python自动化测试学习笔记-1 2019-12-02 01:43:27
python数据分析工具_python数据分析工具 | pandas 2019-12-02 01:43:27