java输入数据插入if_java编程,从键盘录入10个整数数据,将每次录入的数据按从小到大的顺序插入到数组中。...

匿名用户

1级

2015-06-06 回答

楼主你好,先说一下我对这道题目的认识吧。

1、输入10个数,一次按顺序插入。核心考察的应该是2点

1) 给定一个数组和一个整数n,找到这个数应该插入的位置。

2) 插入这个数,其实就是从这个位置往后的所有元素后移一位即可。

2、你的代码用的java的集合。我想这道题目的初衷是考察是1中的2点。如果用集合list等元素的话。那么就失去了数组移动这个知识点的考察。

3、我是用数组实现的。集合应该更简单。

【执行效果,考虑了插入时候的大小问题】

请输入第1个整数

5

第1轮数组情况如下:

5 0 0 0 0 0 0 0 0 0

请输入第2个整数

1

位置0

第2轮数组情况如下:

1 5 0 0 0 0 0 0 0 0

请输入第3个整数

3

位置1

第3轮数组情况如下:

1 3 5 0 0 0 0 0 0 0

请输入第4个整数

8

位置3

第4轮数组情况如下:

1 3 5 8 0 0 0 0 0 0

请输入第5个整数

9

位置4

第5轮数组情况如下:

1 3 5 8 9 0 0 0 0 0

请输入第6个整数

2

位置1

第6轮数组情况如下:

1 2 3 5 8 9 0 0 0 0

请输入第7个整数

24

位置6

第7轮数组情况如下:

1 2 3 5 8 9 24 0 0 0

请输入第8个整数

18

位置6

第8轮数组情况如下:

1 2 3 5 8 9 18 24 0 0

请输入第9个整数

20

位置7

第9轮数组情况如下:

1 2 3 5 8 9 18 20 24 0

请输入第10个整数

25

位置9

第10轮数组情况如下:

1 2 3 5 8 9 18 20 24 25

【源代码】

import java.util.Scanner;

public class ZhuLei

{

//思路:定义一个程度为10的整型数组。一次录入10个整数。

//每个整数,找到自己该插入的位置,然后后面的元素全部后移即可。

public static void main(String[] args)

{

int[] a=new int[10];

int count=1;

Scanner scan=new Scanner(System.in);

while(count<=10)

{

System.out.println("请输入第"+count+"个整数");

int x=scan.nextInt();//获取一个整数

if(count==1)//第一个数直接放在a【0】上

{

a[0]=x;

}

else

{

int insertpos=getPos(a,x,count);

System.out.println("位置"+insertpos);

//移动元素

moveArray(a,insertpos);

a[insertpos]=x;

}

System.out.println("第"+count+"轮数组情况如下:");

printArray(a);

count++;

}

}

//给定一个数组和一个数,找出这个数该放的位置

public static int getPos(int[] a,int n,int count)

{

int pos=-1;

int i=0;

for(i=0;i

{

if(n<=a[i])//一旦发现那个元素比我这个大,那么就找到该插入的位置了。

{

pos=i;

break;

}

}

if(i==count)//如果是count轮,且是目前最大的数,肯定就是在这个位置了,但数组是count-1。

{

pos=count-1;

}

return pos;

}

//给定一个数组和一个下标,从下标开始所有元素后移动1位

public static void moveArray(int[] a,int pos)

{

for(int i=a.length-1;i>pos;i--)

{

a[i]=a[i-1];

}

}

//给定一个数组,打印每个元素

public static void printArray(int [] a)

{

for(int k:a)

{

System.out.print(k+" ");

}

System.out.println();

}

}

【思路说明】

1、定义一个10个数组的元素。

2、用一个循环,来实现10次输入10个整数(没考虑容错,即不是整数的情况)

3、每次输入一个数X。

如果是第一个,就直接赋值给a【0】

否则:

调用下面的一个一个函数,返回这个数该插入的位置

然后移动元素

最后把输入的这个数X复制到数组的这个空位置。即可

4、函数说明:

4.1 getPos()函数,第几轮,就看前几个,哪一个比这个X大,那么就停止,这个地方就是它该插入的地方,count全部看完,肯定是X目前最大,插入到count-1即可

4.2 moveArray(),这个简单,从后往前把元素后移一位,知道该插入的那个位置。

4.3 printArray(),打印数组,这样可以每次看看效果

【你第代码】

你的思路我没有时间看,但是警告就是List。

他的意思是,list好比一个口袋,但是只能装整数。这个问题不大。

好运!

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

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

相关文章

当女朋友生气了而你却没发现 !!!

1 当女朋友生气了而你却没发现。。诶&#xff0c;你咋不吃呢&#xff1f;2 会说话的尾巴。。尾巴&#xff1a;人呢&#xff01;&#xff01;3 小树枝&#xff1a;生命中不能承受之重&#xff01;心疼小树枝&#xff01;4 土耳其冰淇淋小哥终于被反杀了&#xff01;天道好轮…

【转载】 quartus中调用modelsim仿真的方法

http://blog.sina.com.cn/s/blog_4b2a5d8401000910.html http://hi.baidu.com/asin28/blog/item/c4c1218d8ecd51c0fc1f104d.html/cmtid/20f1d8cd7339c810be09e6b5 转载于:https://www.cnblogs.com/mrightt/archive/2011/05/08/2040417.html

弱引用什么时候被回收_Java基础 强引用、弱引用、软引用、虚引用

前言在ThreadLocal源码中&#xff0c;其中嵌套类ThreadLocalMap中的Entry继承了WeakReferenc。Java中提供这四种引用类型主要有两个目的&#xff1a;第一是可以让程序员通过代码的方式决定某些对象的生命周期&#xff1b;第二是有利于JVM进行垃圾回收。强引用(StrongReference)…

再译《A *路径搜索入门》之四

2019独角兽企业重金招聘Python工程师标准>>> ■在A *方法总结 Summary of the A* Method 好了&#xff0c;现在你通过解释已经走了&#xff0c;让我们奠定了一步一步的方法&#xff0c;在同一个地方&#xff1a; Okay, now that you have gone through the explanat…

记一次 .NET 某电商定向爬虫 内存碎片化分析

一&#xff1a;背景 1. 讲故事上个月有位朋友wx找到我&#xff0c;说他的程序存在内存泄漏问题&#xff0c;寻求如何解决&#xff1f; 如下图所示&#xff1a;从截图中可以看出&#xff0c;这位朋友对 windbg 的操作还是有些熟悉的&#xff0c;可能缺乏一定的实操经验&#xff…

php 合成图片 透明,2020-05-19 php实现透明png多图合成

图片合成的流程一般是&#xff0c;获取图像资源——合成——输出。png图片&#xff0c;一般就用imagecreatefrompng()获取资源。不过这个资源获取后是有白底的。所以需要用imagesavealpha()进行图像处理&#xff0c;得到包含有透明背景的图像。//原始图像$dst "img/1.png…

一个古怪的VISTA网络问题解决的坎坷经历

今天下午BOSS突然找我&#xff0c;说他的笔记本无线网络今天频繁的掉线&#xff0c;问我到底是怎么回事&#xff0c;我初步估计是TPLink无线路由器的连接数过多造成&#xff0c;也就这么说了&#xff0c;BOSS马上生气的说&#xff0c;把其他无线用户都T了&#xff0c;让他上网干…

ArcEngine 没有Esri.ArcGis.GeoAnalyst 命名空间

http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid69977&extrapage%3D1&ordertype1 AE安装的时候分为Core和Extension. Esri.ArcGis.GeoAnalyst位于Extension里面. (1)确保安装的时候是完全安装 (2) 转载于:https://www.cnblogs.com/imihiroblog/archive/2012/04/1…

微信功能“拍一拍”,都有谁在“拍”你?

全世界只有3.14 % 的人关注了爆炸吧知识微信新功能总在悄咪咪更新&#xff0c;“拍一拍”一出&#xff0c;很多小伙伴都会收到各种群里面千奇百怪的“拍一拍”&#xff0c;到底都是谁在偷偷关注你&#xff1f;真正决定人与人之间的差距的&#xff0c;其实是我们对事物的见识与内…

sql 触发器_一键生成某个sql的html--记录执行计划、统计信息、触发器等

概述当你获得某个sql的sql_id时&#xff0c;怎么去一键获得这个sql的一些信息呢&#xff0c;例如列的情况、执行计划等等..脚本有点长&#xff0c;建议大家用电脑来看..下面用一个简单测试来演示下&#xff0c;附脚本领取方式。1、获取sql_idSQL> select a.* from (select S…

C字符数组赋值(转)

举例如下&#xff1a; char a[10];1、定义的时候直接用字符串赋值char a[10]"hello";注意&#xff1a;不能先定义再给它赋值&#xff0c;如 char a[10]; a[10]"hello";这样是错误的&#xff01; 2、对数组中字符逐个赋值char a[10]{h,e,l,l,o}; 3、利用str…

别等了,全面「远程办公」凉了

大家好&#xff0c;我是Z哥。这是一篇迟到的文章。具体原因是&#xff0c;昨天定时发送的时候没注意已经过了0点了&#xff0c;习惯性的选了明天11点45&#xff0c;然后才发现实际变成10月9日的11&#xff1a;45了。赶紧取消重新发一下。好了&#xff0c;回到正文。不知道你是否…

PHP做闹钟APP,8款超好用的闹钟APP,专治各种赖床

这是什么神仙APP&#xff0c;我再也不怕冬天起不了床&#xff01;有了它们&#xff0c;再也不怕懒床迟到了&#xff01;好用到爆&#xff01;可爱女生闹钟(超可爱的用户界面)这界面真是太可爱了&#xff0c;软萌妹子必备啊。推荐指数&#xff1a;★★★★怪物闹钟(玩游戏才能关…

easy html5 - Jquery mobile

今天看了下jquery mobile(http://jquerymobile.com/)&#xff0c;看了后自己很兴奋&#xff1b;jquery 在web js框架上的风暴还在继续却也随着移动终端走向了mobile&#xff1b;那么jquery mobile到底包括些什么呢 首先jquery mobile是基于html5的&#xff0c;因为html5已经被默…

太漂亮了!66个高颜值的矿物晶体,吸引到你的目光了吗

全世界只有3.14 % 的人关注了爆炸吧知识1“中国皇帝”菱锰矿“中国皇帝”产自广西梧州&#xff0c;最大晶体为22厘米&#xff0c;是目前中国发现的菱锰矿中体积最大、单晶最大、质量最好的一件标本&#xff0c;在世界范围内亦属罕见。2车轮矿晶簇世界罕见的车轮矿晶簇。3祖母绿…

oracle中sum和count可以嵌套吗_【分享吧】Oracle查询转换

前言“查询转换”是Oracle解析SQL语句中重要的步骤。其原理是Oracle在解析时通过对原有SQL的等价改写&#xff0c;以达到较高执行效率的方式。上图展示了SQL的执行过程&#xff0c;当客户提交的语句经过解析后&#xff0c;在提交给优化器之前会进行一个查询转换的步骤。在这个步…

如何正确地部署防火墙?

防火墙在实际的部署应用过程当中&#xff0c;经常部署在网关的位置&#xff0c;也就是经常部署在网内和网外的一个"中间分隔点"上&#xff0c;而就是在这样一个部署的环境中&#xff0c;也还存在着多种方式&#xff0c;且存在着许多"陷阱"&#xff0c;本文…

extjs 验证消息不显示

var linkIdthis.myform.findField("linkId");//获得该属性 var valuelinkId.getValue().trim();//得到值 if(value){ this.form.cbo.isValid(false);//验证失败,显示错误信息 this.form.cbo.markInvalid(请选择xxx!); …

IEnumerable.OrderBy().First() 在 .netcore 3.1 中是否做了优化?

咨询区 Matthew Watson&#xff1a;我记得 .net core 中有一个版本对下面的场景做了一个优化&#xff0c;代码如下&#xff1a;int smallest new[]{ 7, 2, 4, 6, 0, 1, 6, 9, 8 }.OrderBy(i > i).First();在很早之前它的时间复杂度是 O(N.Log(N))&#xff0c;现在已经优化成…

[转]软件测试演义——中高级系列(序)

[转]软件测试演义——中高级系列&#xff08;序&#xff09; 2015-06-11 转自&#xff1a;软件测试演义——中高级系列&#xff08;序&#xff09; 目前&#xff0c;软件测试团队主要集中在大型外资企业&#xff0c;国内软件测试水平还处在发展阶段&#xff0c;人们对测试理解…