当前位置:编程学习 > JAVA >>

Java编程问题

急求一个Java程序能够求出一维int型数组的元素最大值、最小值、平均值和所有元素之和。

追问:有没有简单的方法啊,这程序看不懂,我怎么回答别人的问题啊。

答案:public class test3 {
 public static void main(String[] args) {
  int[] temp = {21,16,32,27,41,39,38};
  int max = temp[0];int min = temp[0];
  int avg=0;int sum = temp[0];
  for(int i = 1;i<temp.length;i++){
   sum+=temp[i];
   if(temp[i]>max){
    max=temp[i];
   }
   if(temp[i]<min){
    min=temp[i];
   }
  }
  avg = sum/temp.length;
  System.out.println("max:"+max);
  System.out.println("min:"+min);
  System.out.println("sum:"+sum);
  System.out.println("avg:"+avg);
 }

}

 

 

============================================

public class Soso {

 
 public static void main(String[] args) {
  

  int[] sum = {12,30,24,26,8};
  
  System.out.print("初始化的数组是:");
  for(int i=0;i<sum.length;i++)
  {
   System.out.print(sum[i]+" ");
  }
  System.out.println();
  System.out.print("升序之后的数组是:");
  sum = shengxu(sum);
  for(int i=0;i<sum.length;i++)
  {
   System.out.print(sum[i]+" ");
  }
  System.out.println();
  System.out.print("降序之后的数组是:");
  sum = jiangxu(sum);
  for(int i=0;i<sum.length;i++)
  {
   System.out.print(sum[i]+" ");
  }
  System.out.println();
  System.out.println("数组之和是:"+qiuhe(sum));
 
  System.out.println("数组的平均数是:"+pingjunshu(sum));
  
  
 
 }
 
 /**
  * 首先来写升序 这里利用冒泡排序
  */
 
 public static int[] shengxu(int[] sum)
 {
  int temp;
  for(int i = 0;i<sum.length-1;i++)
  {
   for(int j=0;j<sum.length-i-1;j++)
   {
    if(sum[j]>sum[j+1])
    {
     temp = sum[j];
     sum[j] = sum[j+1];
     sum[j+1]=temp;
    }
   }
  }
  
  return sum;
 }
 
 
 
 /**
  * 写降序 这里利用冒泡排序
  */
 
 public static int[] jiangxu(int[] sum)
 {
  
  int temp;
  for(int i = 0;i<sum.length-1;i++)
  {
   for(int j=0;j<sum.length-i-1;j++)
   {
    if(sum[j]<sum[j+1])
    {
     temp = sum[j];
     sum[j] = sum[j+1];
     sum[j+1]=temp;
    }
   }
  }
  
  return sum;
 }
 
 
 /**
  * 接着来写求和
  */
 
 public static int qiuhe(int[] sum)
 {
  int temp = 0;
  for(int i=0;i<sum.length;i++)
  {
   temp = temp + sum[i];
  }
  return temp;
 }
 
 
 /**
  * 接着求平均数
  */

 public static int pingjunshu(int[] sum)
 {
  
  return qiuhe(sum)/sum.length;
 }
}
测试结果

 

如果是初学, 我建议你拿这个去用吧,   封装类,以后都可能会用到, 也不用自己再多敲这么多冗余的代码, 调用这里面的函数就能用了,

public static void main(String[] args) {int[] arr = { 1, 2, 3, 4 ,5,6,7,8,9,10};int sum = 0;double avg = 0d;int max = 0;int min = arr[0];for (int i = 0; i < arr.length; i++) {sum += arr[i];if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}}avg = (double)sum / arr.length;System.out.println("和是:"+sum);System.out.println("平均是:"+avg);System.out.println("最大是:"+max);System.out.println("最小是:"+min);}    
    望采纳. 

package demo;

import java.util.Scanner;

public class Test_010 {
 static int [] arr= {1,2,3,4,5,6,7,8,9};
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO 自动生成方法存根
  getMax(arr);
  getMin(arr);
  getSum(arr);
  getAverage(arr);
 }
 //求最大值
 static void getMax(int [] arr){
  int max = arr[0];
  for(int i = 1; i < arr.length; i++){
   if(max < arr[i]){
    max = arr[i];
   }
  }
  System.out.println("最大值为:"+max);
 }
 //求最小值
 static void getMin(int [] arr){
  int min = arr[0];
  for(int i = 1; i < arr.length; i++){
   if(min > arr[i]){
    min = arr[i];
   }
  }
  System.out.println("最小值为:"+min);
 }
 //求和
 static void getSum(int [] arr){
  int sum = 0;
  for(int i = 0; i < arr.length; i++){
   sum += arr[i];
  }
  System.out.println("数组各元素之和为:"+sum);
 }
 //求平均数
 static void getAverage(int [] arr){
  double average = 0;
  int sum = 0;
  for(int i = 0; i < arr.length; i++){
   sum += arr[i];
  }
  average = sum/arr.length;
  System.out.println("数组各元素的平均数为:"+average);
 }
}

上一个:java的多态
下一个:Java基础教学

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,