题目:有一个已经排好序的数组。现输入一个数,要求将它插入数组中后数组依然是排好序的。
分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

 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 插入数字的更多相关文章

  1. Java50道经典习题-程序8 输入数字求和

    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. 分析:关键是计算出每一项的值. i ...

  2. Java50道经典习题-程序47 输入数字打印星号

    题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*. import java.util.Scanner; public class Prog47{ public static ...

  3. Java50道经典习题-程序42 求数字

    题目:809*??=800*??+9*??+1其中??代表两位数,若有这样得数,求??代表的两位数 public class Prog42{ public static void main(Strin ...

  4. Java50道经典习题-程序50 文件IO

    题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中. impo ...

  5. Java50道经典习题-程序11 求不重复数字

    题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. public cla ...

  6. Java50道经典习题-程序48 数字加密

    题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换.分析:例如原始 ...

  7. Java50道经典习题-程序13 根据条件求数字

    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?分析:完全平方数:如果一个数能是由两个相同的数相乘的结果,那么这个数就是完全平方数,例如:9==3*3: ...

  8. Java50道经典习题-程序7 处理字符串

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数.分析:利用while语句,条件为输入的字符不为'\n'. import java.util.*; public class Pr ...

  9. Java50道经典习题-程序16 在控制台上打印九九乘法表

    题目:输出9*9口诀.分析:利用双重for循环进行输出,分行与列考虑,共9行9列,i控制行,j控制列. public class Prog16 { public static void main(St ...

随机推荐

  1. LeetCode Construct the Rectangle

    原题链接在这里:https://leetcode.com/problems/construct-the-rectangle/ 题目: For a web developer, it is very i ...

  2. Linux网络编程学习路线

    转载自:https://blog.csdn.net/lianghe_work/article 一.网络应用层编程   1.Linux网络编程01——网络协议入门 2.Linux网络编程02——无连接和 ...

  3. 推荐几本WinCE 6程序开发的书

    因为学校期中考试和课程设计的原因,winCE6的项目开发耽误了一个多月的时间,现在学校没什么事情了,公司这边杂事也差不多办完了,可以专心的搞开发了,同时这也成了我的毕业设计,我不得不上心喽. 今天在卓 ...

  4. bzoj 1016 [JSOI2008]最小生成树计数——matrix tree(相同权值的边为阶段缩点)(码力)

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1016 就是缩点,每次相同权值的边构成的联通块求一下matrix tree.注意gauss里的 ...

  5. bzoj 3629 [JLOI2014]聪明的燕姿——约数和定理+dfs

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3629 如果要搜索,肯定得质因数分解吧:就应该朝这个方向想. **约数和定理: 对于任意一个大 ...

  6. url出现特殊字符,需要进行编码

    1) 网络访问请求:中文空格字符编码/解码 stringByAddingPercentEscapesUsingEncoding(只对 `#%^{}[]|\"<> 加空格共14个字 ...

  7. 校赛热身 Problem C. Sometimes Naive (状压dp)

    题解: 列举每一种3的倍数的组合,开始先求出3条边的可行解,则 六条边的可行解可以由两个三条边得来. 详见代码解析 #include<bits/stdc++.h> using namesp ...

  8. spring学习十二 application/x-www-form-urlencoded还是application/json

    application/x-www-form-urlencoded还是application/json get. POST 用哪种格式? 后台如何得到这些值? 如何用ajax  或者是 postman ...

  9. Spring MVC配置详解(2)---bai

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2 ...

  10. 2015.11.3 RichBox改变若干文本颜色

    for(int i=1;i<rtb.Lines.Length;i++) { if(rtb.Lines[i] == rtb.Lines[i - 1]) { int bg = rtb.GetFirs ...