package org.westos.homework2;
/**
* 1:(25分)给定一个int类型的数组,要求:
1.求和
2.求平均数(int)
3.求最大值,最小值
4.打印这个数组中数据
*/
public class Array {
public static void main(String[] args) {
int[] a={21,34,78,45,66,89,22,12,59};
int sum=getSum(a);
int average=sum/a.length;
System.out.println("数组和为:"+sum);
System.out.println("数组的平均数为:"+average);
int Max=getMax(a);
System.out.println("数组中的最大值为:"+Max);
int Min=getMin(a);
System.out.println("数组中的最小值为:"+Min);
System.out.print("数组中每一个元素为:");
Print(a);
}
public static int getSum(int[] a) {
int sum=0;
for(int i=0; i<a.length; i++)
{
sum+=a[i];
}
return sum;
}
public static int getMax(int[] a) {
int temp=a[0];
for(int i=1; i<a.length; i++)
{
if(a[i]>temp)
{
temp=a[i];
}
}
return temp;
}
public static int getMin(int[] a) {
int temp=a[0];
for(int i=1; i<a.length; i++)
{
if(temp>a[i])
{
temp=a[i];
}
}
return temp;
}
public static void Print(int[] a) {
for(int i=0; i<a.length; i++)
{
System.out.print(a[i]+" ");
}
}
}
package org.westos.homework2;
package org.westos.homework2;
/**
*2:(25分)给定两个整型数组a和b,找出其共同元素。
eg:int[] a={23,12,45,11};
int[] b={99,33,12,45,67,11}
要找出:12,45,11
*/
public class Find {
public static void main(String[] args) {
int[] a={23,12,45,11};
int[] b={99,33,12,45,67,11};
find(a, b);
}
public static void find(int[] a,int[] b) {
int[] c;
boolean flag=false;
int k=0;
if(a.length>b.length)
{
c=new int[b.length];
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < a.length; j++) {
if(b[i]==a[j])
{
flag=true;
c[k++]=a[j];
break;
}
}
}
}else {
c=new int[a.length];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b.length; j++) {
if(a[i]==b[j])
{
flag=true;
c[k++]=a[i];
break;
}
}
}
}
if(flag)
{
System.out.print("这两个数组的共同元素有:");
for(int i=0; i<k; i++)
{
System.out.print(c[i]+" ");
}
}else {
System.out.println("没有找到相同的元素!!!");
}
}
}
package org.westos.homework2;
/**
3. (25分)在某歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,
去掉一个最低分,然后剩余的8位评委的分数进行平均,就是该选手的最终得分。
10位评委对某歌手的打分分别是:78、60、85、96、77、66、60、82、88、85。
计算该歌手的最终得分。
*/
public class AverageScore {
public static void main(String[] args) {
int[] a={78,60,85,96,77,66,60,82,88,85};
System.out.println("该歌手的最终得分为:"+averageScore(a));
}
public static int averageScore(int[] a) {
int sum=0;
int max=a[0],min=a[0];
for (int j = 0; j < a.length; j++) {
sum+=a[j];
if(a[j]>max)
{
max=a[j];
}
if(a[j]<min)
{
min=a[j];
}
}
int average=(sum-max-min)/(a.length-2);
return average;
}
}
package org.westos.homework2;
/**
4.(25分)兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。
初始有一对小兔子,假设所有兔子都不死,计算前12个月每个月的兔子对数。
*/
public class Rabbit {
public static void main(String[] args) {
System.out.println("前12个月每月的兔子对数为:");
for(int i=1; i<=12; i++)
{
System.out.println("第"+i+"个月有"+rabbit(i)+"对兔子");
}
}
public static int rabbit(int month) {
if(month==1 || month==2)
{
return 1;
}
int temp=rabbit(month-1)+rabbit(month-2);
return temp;
}
}