Java编程问题
急求一个Java程序能够求出一维int型数组的元素最大值、最小值、平均值和所有元素之和。
追问:有没有简单的方法啊,这程序看不懂,我怎么回答别人的问题啊。
急求一个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);
}
}