java1. 输入 3 个 int 类型的整数,请编写一个程序,将它们从大到小排序。
时间: 2024-09-22 19:07:18 浏览: 48
在Java中,你可以通过Arrays类的sort()方法结合自定义比较器(Comparator)来对3个int类型的整数进行降序排列。以下是一个简单的示例程序:
```java
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
// 输入3个整数
int[] numbers = {Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2])};
// 自定义比较器,按照降序排列
Arrays.sort(numbers, Comparator.reverseOrder());
// 输出排序后的结果
System.out.println("从大到小排序后的数组:");
for (int num : numbers) {
System.out.print(num + " ");
}
}
}
```
要运行这个程序,你需要在命令行输入三个整数,例如`java Main 5 3 7`。它会输出`7 5 3`。
相关问题
用Java编写下面语句:1. 编写一个方法,求整数n的阶乘,例如5的阶乘是1*2*3*4*5。 2. 编写一个方法,判断该年份是平年还是闰年。 3. 编写一个方法,输出大于200的最小的质数。 4. 写一个方法,功能:定义一个一维的int 数组,长度任意,然后将它们按从小到大的顺序输出(使用冒泡排序)。 5. 编写一个方法abs( ),既可以对整数进行绝对值获取,又可以对小数进行绝对值的获取
1. 求整数n的阶乘的方法:
```java
public static int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
```
2. 判断年份是平年还是闰年的方法:
```java
public static boolean isLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true; // 闰年
} else {
return false; // 平年
}
}
```
3. 输出大于200的最小质数的方法:
```java
public static int findPrimeNumber() {
int num = 201;
while (true) {
boolean isPrime = true;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
return num;
}
num++;
}
}
```
4. 将一维int数组按从小到大顺序输出的冒泡排序方法:
```java
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < n; i++) {
System.out.println(arr[i]);
}
}
```
5. 对整数和小数取绝对值的方法:
```java
public static int abs(int num) {
return Math.abs(num);
}
public static double abs(double num) {
return Math.abs(num);
}
```
请注意,在实际使用时,这些方法需要在类中进行定义,并根据需要进行调用。
使用java 编写一个程序完成对一组随机整数的排序。步骤要求如下: 1.键盘输入产生随机数的个数n 2.定义一个有n个元素的整型数组 3.随机产生n个两位正整数。 4.键盘输入排序方法(1为冒泡法、2为选择法) 5.输出原始顺序数据。 6.输出每一趟排序的结果和最终结果。
下面是一个简单的Java程序,用于按照您的要求完成这个任务:
```java
import java.util.Scanner;
import java.util.Random;
public class RandomNumberSorter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Step 1: 获取随机数的数量
System.out.println("请输入随机数的个数(n): ");
int n = scanner.nextInt();
int[] numbers = new int[n];
// Step 3: 随机生成n个两位正整数
Random random = new Random();
for (int i = 0; i < n; i++) {
numbers[i] = random.nextInt(99) + 1; // 生成1到99之间的随机数
}
// Step 5: 输出原始顺序数据
System.out.println("原始顺序数据:");
for (int num : numbers) {
System.out.print(num + " ");
}
System.out.println();
// Step 4: 输入排序方法
System.out.println("请选择排序方法(1 冒泡法, 2 选择法): ");
int sortMethod = scanner.nextInt();
switch (sortMethod) {
case 1: // 冒泡法排序
bubbleSort(numbers);
break;
case 2: // 选择法排序
selectionSort(numbers);
break;
default:
System.out.println("无效的选择!");
return;
}
// Step 6: 输出排序过程和最终结果
System.out.println("\n排序过程(每轮排序后的结果):");
for (int i = 0; i < numbers.length - 1; i++) {
printArray(numbers, i + 1);
}
System.out.println("最终结果:");
printArray(numbers);
scanner.close();
}
private static void bubbleSort(int[] arr) {
// 冒泡排序实现...
}
private static void selectionSort(int[] arr) {
// 选择排序实现...
}
private static void printArray(int[] arr, int index) {
System.out.print("第" + index + "轮: ");
for (int num : arr) {
System.out.print(num + " ");
}
System.out.println();
}
}
```
在这个示例中,`bubbleSort` 和 `selectionSort` 方法分别实现了冒泡排序和选择排序算法,实际操作中你需要在这些方法内部填充具体的排序逻辑。
阅读全文