程序输入一个整数n,生成一个大小为n的100以内整型随机数数组,打印数组中所有数并判断数组中构成的三角形以及数量
package com.lll;
import java.util.Random;
import java.util.Scanner;
/**
* LLL
* 2023年7月6日
* 程序输入一个整数n,生成一个大小为n的100以内整型随机数数组,打印数组中所有数并判断数组中构成的三角形以及数量
*/
public class TriangleNumberTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
int[] arr = new int[number];
Random random = new Random();
for (int i = 0; i < number; i++) {
//生成0-100的随机数
arr[i] = random.nextInt(101);
System.out.print(arr[i] + " ");
}
System.out.println();
int triangleNumber = 0;
for (int i = 0; i < number; i++)
for (int j = i + 1;j < number;j++)
for (int k = j + 1; k < number; k++)
if (arr[i] + arr[j] > arr[k] && arr[i] + arr[k] > arr[j] && arr[j] + arr[k] > arr[i]){
System.out.println("三角形为"+arr[i]+","+arr[j]+","+arr[k]);
triangleNumber++;
}
System.out.println("三角形的个数为"+triangleNumber);
}
}
这段 Java 代码生成一个大小为 n
的整数数组,并打印数组中的所有数字。然后,它通过遍历数组中的三个数字来判断是否可以构成三角形,并统计构成三角形的个数。我会逐一解释代码的各个部分:
-
输入部分:
Scanner sc = new Scanner(System.in); int number = sc.nextInt();
-
随机生成整数数组:
int[] arr = new int[number]; Random random = new Random(); for (int i = 0; i < number; i++) { //生成0-100的随机数 arr[i] = random.nextInt(101); System.out.print(arr[i] + " "); } System.out.println();
这部分生成了大小为
n
的整数数组arr
,每个元素在 0 到 100 之间的范围内随机生成,然后输出数组中的所有元素。 -
判断三角形以及统计个数:
int triangleNumber = 0; for (int i = 0; i < number; i++) for (int j = i + 1; j < number; j++) for (int k = j + 1; k < number; k++) if (arr[i] + arr[j] > arr[k] && arr[i] + arr[k] > arr[j] && arr[j] + arr[k] > arr[i]) { System.out.println("三角形为" + arr[i] + "," + arr[j] + "," + arr[k]); triangleNumber++; } System.out.println("三角形的个数为" + triangleNumber);
这部分使用三层嵌套循环遍历所有可能的三个数字的组合,然后通过三角形的三边关系判断是否可以构成三角形。如果能构成三角形,就输出这个三角形的三个边,然后增加
triangleNumber
计数器。 -
输出结果:
System.out.println("三角形的个数为" + triangleNumber);
总体而言,这个程序生成了一个随机整数数组,然后遍历数组中的所有三个数字的组合,判断能否构成三角形,并统计构成的三角形的个数。