这题怎么做 在线等

wowjp 2019-10-22 11:36:00
...全文
152 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Little石头 2019-10-22
  • 打赏
  • 举报
回复
那个帖子已经给你回了
wowjp 2019-10-22
  • 打赏
  • 举报
回复
1.生成小于等于10的整数 2.随机数的个数要能自定义, 当输入10时就会有3个随机数产生。 当输入3时就会有3个随机数产生. 3.求随机数的和, 4.随机数的平均值 5.随机数的最大值 6.当输入0时停止计算系统,并输出“本次计算已结束。(换行) ========== ”
wowjp 2019-10-22
  • 打赏
  • 举报
回复
1.生成小于等于10的整数 2.随机数的个数要能自定义, 当输入10时就会有3个随机数产生。 当输入3时就会有3个随机数产生. 3.求随机数的和, 4.随机数的平均值 5.随机数的最大值 6.当输入0时停止计算系统,并输出“本次计算已结束。(换行) ========== ”
qq_39936465 2019-10-22
  • 打赏
  • 举报
回复
引用 1 楼 wowjp 的回复:
1.生成小于等于10的整数 2.随机数的个数要能自定义, 当输入10时就会有3个随机数产生。 当输入3时就会有3个随机数产生. 3.求随机数的和, 4.随机数的平均值 5.随机数的最大值 6.当输入0时停止计算系统,并输出“本次计算已结束。(换行) ========== ”

public class test7 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int sum = 0;
		int[] t;
		Scanner sc = new Scanner(System.in);
		System.out.println("本系统支持随机数组(小于等于10整数)的相关计算。");
		System.out.print("请输入数组长度(0表示退出系统):");
		int n = sc.nextInt();
//		System.out.println();
		while (n != 0) {
			t= new int[n];
			System.out.print("随机素组:");
			for (int i = 0; i < n; i++) {
				t[i] = (int) (Math.random() * 11);
				if ((i + 1) == n) {
					System.out.print(t[i] + "\r\n");
					break;
				}
				System.out.print(t[i] + ",");
			}
			quicksort(t, 0, n-1);
			for (int i = 0; i < n; i++) {
				sum = sum + t[i];
			}
			System.out.println("数组的和:" + sum);
			System.out.println("数组的平均值:" + sum / n);
			System.out.println("数组的最大值:" + t[n - 1]);
			System.out.print("从小到大排序后:");
			for (int i = 0; i < n; i++) {
				if ((i + 1) == n) {
					System.out.print(t[i] + "\r\n");
					break;
				}
				System.out.print(t[i] + ",");
			}
			System.out.println("本次计算已经结束");
			System.out.println("==============================");
			sum = 0;
			System.out.print("请输入数组长度(0表示退出系统):");
			n=sc.nextInt();

		}
		System.out.println("退出系统。");

	}

	public static void quicksort(int[] arr, int low, int high) {
		int i, j, temp, t;
		if (low > high) {
			return;
		}
		i = low;
		j = high;
		temp = arr[low];
		while (i < j) {
			while (temp <= arr[j] && i < j) {
				j--;
			}
			while (temp >= arr[i] && i < j) {
				i++;
			}
			if (i < j) {
				t = arr[j];
				arr[j] = arr[i];
				arr[i] = t;
			}
		}
		arr[low] = arr[i];
		arr[i] = temp;
		quicksort(arr, low, j - 1);
		quicksort(arr, j + 1, high);
	}

}

IT_熊 2019-10-22
  • 打赏
  • 举报
回复
本题主要考察点:循环while 随机数工具类Random 以及控制台输入输出
代码参考:如下:
import java.util.Random;
import java.util.Scanner;

public class Demo {
public static void main(String[] args) {
System.out.println("本系统支持随机数组(小于等于10的整数)的相关计算");
Scanner input = new Scanner(System.in);
int num = 0;
while (true) {
System.out.println("请输入数组的长度(0表示退出系统):");
try {
num = Integer.parseInt(input.next());
} catch (NumberFormatException e) {
System.out.println("数组长度输入有误!");
continue;
}
if (num == 0) {
System.out.println("退出系统。");
System.out.println("本次计算已结束。\n ==========");
break;
} else {
if (num > 1 && num <= 10) {
// 生成随机数组
int[] array = getRandomArray(num);
System.out.println("随机数组:" + toString(array));
// 计算数组和
int sum = sumArray(array);
System.out.println("数组的和:" + sum);
// 平均值
float avg = (float) sum / num;
System.out.println("数组的和:" + avg);
// 最大值
int max = maxArray(array);
System.out.println("数组的最大值:" + max);
} else {
System.out.println("数组长度数组范围为0-10!");
}
}
}

}

/**
* 随机产生数组
*
* @param num 数组元素个数
* @return int数组
*/
private static int[] getRandomArray(int num) {
int[] arr = new int[num];
Random random = new Random();
for (int i = 0; i < num; i++) {
arr[i] = random.nextInt(11);
}
return arr;
}

/**
* 打印数组
*
* @param arr 数组
* @return 数组字串
*/
private static String toString(int[] arr) {
String str = "";
for (int i = 0; i < arr.length; i++) {
str = str + arr[i] + " ";
}
return str;
}

/**
* 计算数组元素的和
*
* @param arr 数组
* @return 数组元素中的最大值
*/
private static int maxArray(int[] arr) {
int max = 0;
for (int i = 0; i < arr.length; i++) {
if (i == 0) {
max = arr[i];
} else {
if (arr[i] > max) {
max = arr[i];
}
}
}
return max;
}

/**
* 计算数组元素的和
*
* @param arr 数组
* @return 数组元素和
*/
private static int sumArray(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
return sum;
}
}
建议先对基础知识好像掌握。

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧