Java50道经典习题-程序30 插入数字
题目:有一个已经排好序的数组。现输入一个数,要求将它插入数组中后数组依然是排好序的。
分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
import java.util.Arrays;
import java.util.Scanner;
public class Prog30 {
public static void main(String[] args) {
int[] array = {0,1,2,3,5,7,8,9,12};//定义一个升序数组
//int[] array = {12,9,8,7,5,3,2,1,0};//定义一个降序数组
System.out.println("定义的数组为:");
for(int j=0;j<array.length;j++) {//遍历定义好的数组
System.out.print(array[j]+" ");
}
//获取用户输入的数
Scanner input=new Scanner(System.in);
System.out.println();//换行
System.out.println("请输入一个整数:");
int n=input.nextInt();
input.close();
//默认将添加的元素加到数组末尾,原始数组扩容1
array=Arrays.copyOf(array, array.length+1);
array[array.length-1]=n;
//当定义的数组为升序数组时
if(array[0]<=array[array.length-2]) {
System.out.println("插入一个数之后的数组为:");
Arrays.sort(array);//重新排序
for(int k=0;k<array.length;k++) {//遍历新数组
System.out.print(array[k]+" ");
}
}
//当定义的数组为降序数组时
if(array[0]>=array[array.length-2]) {
System.out.println("插入一个数之后的数组为:");
Arrays.sort(array);//重新排序
//将排好序的升序数组逆序输出
for(int i=array.length-1;i>=0;i--) {
System.out.print(array[i]+" ");
}
}
}
}
/*运行结果
定义的数组为:
0 1 2 3 5 7 8 9 12
请输入一个整数:
10
插入一个数之后的数组为:
0 1 2 3 5 7 8 9 10 12
*/
Java50道经典习题-程序30 插入数字的更多相关文章
- Java50道经典习题-程序8 输入数字求和
题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 分析:关键是计算出每一项的值. i ...
- Java50道经典习题-程序47 输入数字打印星号
题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*. import java.util.Scanner; public class Prog47{ public static ...
- Java50道经典习题-程序42 求数字
题目:809*??=800*??+9*??+1其中??代表两位数,若有这样得数,求??代表的两位数 public class Prog42{ public static void main(Strin ...
- Java50道经典习题-程序50 文件IO
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中. impo ...
- Java50道经典习题-程序11 求不重复数字
题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. public cla ...
- Java50道经典习题-程序48 数字加密
题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换.分析:例如原始 ...
- Java50道经典习题-程序13 根据条件求数字
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?分析:完全平方数:如果一个数能是由两个相同的数相乘的结果,那么这个数就是完全平方数,例如:9==3*3: ...
- Java50道经典习题-程序7 处理字符串
题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.分析:利用while语句,条件为输入的字符不为'\n'. import java.util.*; public class Pr ...
- Java50道经典习题-程序16 在控制台上打印九九乘法表
题目:输出9*9口诀.分析:利用双重for循环进行输出,分行与列考虑,共9行9列,i控制行,j控制列. public class Prog16 { public static void main(St ...
随机推荐
- asp.net 打印控件使用方法
打印的效果及控制性虽然不是很好,但是也能勉强使用,应付一般的打印还是 可以的了.代码如下所示: 代码 复制代码 代码如下: //调用PrintControl.ExecWB(?,?)实现直接打印和打印预 ...
- BZOJ3624:[APIO2008]免费道路
浅谈并查集:https://www.cnblogs.com/AKMer/p/10360090.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem. ...
- ping错误详解
在网络中Ping 是一个十分好用的TCP/IP工具,它主要的功能是用来检测网络的连通情况和分析网络速度. 输入 ping /? 例出ping的参数 使用Ping检查连通性有五个步骤 1. 使用ipco ...
- svn 撤销修改
1,更新到最新版本 不知道是哪个文件的问题时,可以svn log查看日志,基本上可以通过哪一次提交修改了哪一个文件推算出 是哪个文件的问题. 若知道是哪个文件的问题,直接svn log 文件名 大致确 ...
- leetcode657
bool judgeCircle(string moves) { ;//垂直位移 ;//水平位移 for (auto m : moves) { if (m == 'U') { V++; } else ...
- 从文件中读取yuv和h264数据
1.从文件中读取h264数据 参考ffmpeg avc.c写的从文件中一帧帧读取h.264数据的demo #include <stdio.h> #include <stdlib.h& ...
- 用JS 写一个简单的程序,切换七彩盒子背景
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- MVC5网站部署到IIS7
server 2008R2+IIS7.5下配置不会出现什么问题,这里记录下在server2008+IIS7下的配置 参考了一下:http://www.cnblogs.com/fcu3dx/p/3773 ...
- C连接oracle数据库
int db_conn_main() { EXEC SQL BEGEIN DECLARE SECTION; +]; +]; +]; varchar username[]; varchar passwo ...
- ie7下z-index失效问题解决方法
绝对定位元素的“有定位属性(relative或absolute)的父元素”在渲染层次时起到了主要作用,前面的被后面的覆盖了.解决办法就是给有定位属性的父元素设置z-index 解决办法: 父级元素加上 ...