12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package com.sf.javase.day03;
- import org.junit.jupiter.api.Test;
- import java.util.Arrays;
- /**
- * 数组练习题
- */
- public class ArrayWorker {
- /**
- * 数组统计:求总和、均值
- * 求数组元素的总乘积
- */
- @Test
- public void t1(){
- int[] arr = {4,5,6,1,9};
- int sum = 0;
- int result = 1;
- double avg = 0.0;
- //sum avg
- for (int i = 0;i<arr.length;i++){
- sum += arr[i];
- result *= arr[i];
- }
- System.out.println(sum);
- avg =sum/arr.length;
- System.out.println(avg);
- System.out.println(result);
- }
- /**
- * 求数组元素的最大值
- */
- @Test
- public void t2(){
- int[] arr = {4,5,6,1,9};
- int max = arr[0];
- for (int i = 0;i<arr.length;i++){
- if(arr[i]>max){
- max = arr[i];
- }
- }
- System.out.println(max);
- }
- /**
- * 找最值大及其所有最大值的下标
- */
- @Test
- public void t3(){
- int[] arr = {4,5,9,1,9,9,3};
- int max = arr[0];
- int count = 0;
- int pre = 0;
- int[] arr1 = new int[arr.length]; //null 0
- String index = "0";
- for (int i = 0; i < arr.length; i++) {
- if(arr[i] > max){
- max = arr[i];
- pre = max;
- arr1[count] = i;
- }else if (arr[i] == max){
- if(pre != max){
- count--;
- }
- arr1[++count] = i;
- }
- }
- System.out.println(max);
- System.out.println(index);
- System.out.println(Arrays.toString(arr1));
- }
- @Test
- public void t4(){
- int[] scores = {5,4,6,8,9,0,1,2,7,3};
- int max = scores[0];
- int min = scores[0];
- int sum = 0;
- for (int i = 0; i < scores.length; i++) {
- if (scores[i] > max) {
- max = scores[i];
- }
- if (scores[i] < min) {
- min = scores[i];
- }
- sum += scores[i];
- }
- double avg = (sum - max -min)*1.0/(scores.length-2);
- System.out.println("总分"+sum);
- System.out.println("最高分"+max);
- System.out.println("最低分"+min);
- System.out.println("平均分"+avg);
- }
- }
|