编写类从控制台输入数值存入数组,利用已学的内排序算法,对数组数据排序,并倒置输出。
时间: 2023-06-05 17:47:06 浏览: 319
C语言程序设计-编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出;
4星 · 用户满意度95%
好的,以下是回复:
首先,我们可以编写一个类来从控制台输入数值并存入数组中:
```
import java.util.Scanner;
public class InputArray {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入数组长度:");
int length = scanner.nextInt();
int[] array = new int[length];
System.out.println("请输入数组元素:");
for (int i = ; i < length; i++) {
array[i] = scanner.nextInt();
}
scanner.close();
}
}
```
接下来,我们可以使用已学的内排序算法对数组进行排序。这里我们以冒泡排序为例:
```
public class BubbleSort {
public static void main(String[] args) {
int[] array = {5, 3, 8, 4, 2};
for (int i = ; i < array.length - 1; i++) {
for (int j = ; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (int i = ; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
}
```
最后,我们可以将排序后的数组倒置输出:
```
public class ReverseArray {
public static void main(String[] args) {
int[] array = {2, 4, 8, 3, 5};
for (int i = ; i < array.length / 2; i++) {
int temp = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = temp;
}
for (int i = ; i < array.length; i++) {
System.out.print(array[i] + " ");
}
}
}
```
以上就是编写类从控制台输入数值存入数组,利用已学的内排序算法,对数组数据排序,并倒置输出的方法。
### 回答2:
编写一个类,该类从控制台输入数值并将其存入一个数组。这个数组将是我们对其进行排序的基础。我们已经学过了几个排序算法,包括冒泡排序、选择排序和插入排序。这些排序算法都可以用来对数组进行排序。
一个简单的内排序方法是冒泡排序,它遍历整个数组并比较相邻的元素,如果一个元素比它的后一个元素大,则交换这两个元素的位置。我们可以使用这个算法对输入的数组进行排序,然后将其倒置并输出。
以下是代码示例:
```
import java.util.Scanner;
public class ArraySorting {
private int[] array;
public ArraySorting(int size) {
array = new int[size];
}
public void sort() {
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
if (array[j] > array[j + 1]) {
int tmp = array[j];
array[j] = array[j + 1];
array[j + 1] = tmp;
}
}
}
}
public void reverse() {
int i = 0;
int j = array.length - 1;
while (i < j) {
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
i++;
j--;
}
}
public void printArray() {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要存入数组的整数个数:");
int size = scanner.nextInt();
ArraySorting arraySorting = new ArraySorting(size);
System.out.print("请输入" + size + "个整数:");
for (int i = 0; i < size; i++) {
arraySorting.array[i] = scanner.nextInt();
}
arraySorting.sort();
System.out.println("排序后的数组为:");
arraySorting.printArray();
arraySorting.reverse();
System.out.println("倒置后的数组为:");
arraySorting.printArray();
}
}
```
在运行上面的代码时,我们首先会被要求输入要存入数组的整数个数。接着,程序会询问我们要输入的整数。在输入完成之后,程序会对数组进行排序并输出排序后的数组。然后,它会将排序后的数组倒置并再次输出。
如果我们输入了以下数字:
```
5
2 3 1 5 4
```
程序会输出:
```
排序后的数组为:
1 2 3 4 5
倒置后的数组为:
5 4 3 2 1
```
这说明我们的程序能够正确地对输入的数组进行排序,并能够将排序后的数组倒置输出。
阅读全文