1、创建Scanner类
首先因为要用键盘录入10个数,要用到Scanner,所以先创建一个Scanner类;(注意使用Scanner类要导包)具体代码如下:
import java.util.Scanner;//导包
Scanner sc=new Scanner(System.in);//创建Scanner类
2、定义数组
因为要录入10个元素所以接着创建一个长度为10的数组,对录入的数据进行存储;实现代码如下:
int[] nums=new int[10];
3、录入数据
数组定义完成之后,利用循环结构键盘录入10个数据存储到元素中,并利用Arrays类中的copyOf(注意使用Arrays中的方法也要导包)方法对录入的数组进行复制,得到一个与录入数据一摸一样的数组留着备用;实现代码如下:
import java.util.Arrays;//导包
for (int i = 0; i < nums.length; i++) {
System.out.println("请输入第"+(i+1)+"个数:");
nums[i]=sc.nextInt();
}
//再复制一个一摸一样的数组备用
int[] nums1=Arrays.copyOf(nums, 10);
4、冒泡法排序
数组准备好后就可以对数组中的元素进行处理,冒泡排序方法是指相邻的两个数进行比较,将大的数据放在前面,小的数据放在后面;实现代码如下:
//使用冒泡法对数组进行排序
System.out.println("冒泡法:");
//冒泡法:相邻的两个数进行比较,大的放前面,小的放后面
for(int i=0;i<nums.length;i++){
for(int j=0;j<nums.length-i-1;j++){
if(nums[j]<nums[j+1]){
int temp=nums[j];
nums[j]=nums[j+1];
nums[j+1]=temp;
}
}
}
5、选择法排序
将之前复制好留着备用的数组拿来做选择排序,选择排序法是每个数都和后面的数比较一次,最大的放最前面。实现代码如下:
for (int i = 0; i < nums1.length; i++) {
for (int j = i + 1; j < nums1.length; j++) {
if (nums1[i] < nums1[j]) {
int temp = nums1[i];
nums1[i] = nums1[j];
nums1[j] = temp;
}
}
}
6、输出排序好的的数组
最后使用Arrays中的toString方法将两个排序好的数组输出。实现代码如下:文章来源:https://www.toymoban.com/news/detail-770042.html
System.out.println(Arrays.toString(nums));
System.out.println(Arrays.toString(nums1));
下面是完整代码:文章来源地址https://www.toymoban.com/news/detail-770042.html
import java.util.Arrays;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
/*
* 有10个数字要求分别用选择法和冒泡法从大到小输出
*/
Scanner sc = new Scanner(System.in);
// 定义一个长度为10的一维数组
int[] nums = new int[10];
// 键盘输入十个数存储在数组中
for (int i = 0; i < nums.length; i++) {
System.out.println("请输入第" + (i + 1) + "个数:");
nums[i] = sc.nextInt();
}
// 再复制一个一摸一样的数组备用
int[] nums1 = Arrays.copyOf(nums, 10);
System.out.println("你输入的数组为:" + Arrays.toString(nums));
// 使用冒泡法对数组进行排序
System.out.println("冒泡法:");
// 冒泡法:相邻的两个数进行比较,大的放前面,小的放后面
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length - i - 1; j++) {
if (nums[j] < nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
System.out.println(Arrays.toString(nums));
System.out.println("选择法:");
// 选择法:每个数都和后面的数比较一次,最大的放前面
for (int i = 0; i < nums1.length; i++) {
for (int j = i + 1; j < nums1.length; j++) {
if (nums1[i] < nums1[j]) {
int temp = nums1[i];
nums1[i] = nums1[j];
nums1[j] = temp;
}
}
System.out.println(Arrays.toString(nums1));
}
}
}
到了这里,关于键盘录入10个数,并对这10个数用选择法和冒泡法从大到小排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!