package Demo30Array_Insert;
import java.util.Arrays;
import java.util.Scanner;
import static java.lang.Integer.*;
public class Array_Insert {
/**
* 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
*/
/*
分析:有一个已经排好序的数组,我们可以直接构建一个数组,也可以让用户输入一组数据,然后将它转换成数组,
再排序,传统的如冒泡法之类的,这里为了简单,我想还是用Arrays类的sort()方法来排序
在插入这一步操作,我们再去遍历这个数组。总体思路就这些。
*/
public static void main(String[] args) {
//获取用户的输入
Scanner sc = new Scanner(System.in);
System.out.println("请您输入一组数字,以逗号(中英文都可)结尾:");
String nums = sc.next();
//将这个字符串分割成字符串数组
String[] splits = nums.split(",|,");
System.out.println(splits.length);
//创建一个跟字符串数组一样长的int数组
int[] array = new int[splits.length];
try{
//将这个字符串数组转换成数字装到int数组中
for (int i = 0; i < splits.length; i++) {
array[i]= parseInt(splits[i]);
}
//使用Arrays的toString方法得到一个原先数组的字符串
String origin = Arrays.toString(array);
//使用Arrays的sort()方法对数组进行排序
Arrays.sort(array);
//再次使用toString方法获得一个排过序之后的数组字符串形式
String sorted = Arrays.toString(array);
System.out.println("原先的数组:"+origin);
System.out.println("排序后的数组:"+sorted);
//获取用户要插入的数字
System.out.println("请您输入需要插入的数字: ");
int in = sc.nextInt();
//开始插入,新建一个长度比原来数组加一个的新int数组
int[] insert = new int[array.length+1];
//定义一个标记,来确定那个数字有没有插进去,没插进去是true,插进去后设为false
boolean flag = true;
//遍历两个数组,插入数字
for (int j = 0; j <= array.length; j++) {
if(flag){
if(in<=array[j]){
insert[j]=in;
flag=false;
}else{
insert[j]=array[j];
}
}else{
insert[j]=array[j-1];
}
}
System.out.println(Arrays.toString(insert));
}catch (NumberFormatException e){
System.out.println("您输入的数字格式不对,请重新输入,一定要是数字哦...");
}
}
}
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- print("有一个已经排好序的列表。现输入一个数,要求按原来的规律将它插入列表中")a = [1,3,5,7,9...
- 题目描述已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。 输入第一行,原始数列。 ...
- 1.有一个已待排序好的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。 设计思路: 插入的数与最后的数做...