代码测试题1

来源:互联网 发布:乐高ev3机器人编程软件 编辑:程序博客网 时间:2024/06/05 02:10

第一题(编程题: 30分)

获取0到指定整数之间奇数的个数并计算奇数的累加和,要求如下:

定义public static void printInfo(int num)方法,要求完成:

1、打印0到 num之间(包含num)奇数的个数

2、打印这些奇数的和;

定义main方法,要求完成:获取键盘录入的整数num,传递num调用printInfo(int num)方法

public class Test01 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("输入一个整数: ");int num = sc.nextInt();printInfo(num);}public static void printInfo(int num){int cnt = 0;int sum = 0;for(int i=0;i<=num;i++){if(i%2!=0){cnt++;sum += i;}}System.out.println("奇数个数为:"+cnt+"  奇数和为:"+sum);}}

第二题(编程题: 35分)

获取数组中角标值为偶数的元素累加和与角标值为奇数的元素累加和,并获取2个累加和之间的差值,要求如下:

定义public static int getDiff(int[] arr)方法,方法内要求:返回arr数组中的索引为偶数的元素之和,与索引为奇数的元素之和的差值,要求返回的差值是非负数(就是大数减去小数)。

定义main方法,方法内完成:

1.       定义一个整数数组arr;

2.       随机获取10个100~500之间(包含100和500)的整数,并存入数组arr

3.       传递arr调用方法getDiff (int[]arr),获取返回值并在控制台打印输出

 

public class Test02 {

         public static voidmain(String[] args) {

                   Random r= new Random();

                   int[]arr= new int[10];

                   System.out.print("产生随机数组:");

                   for(inti=0;i<10;i++){

                            arr[i]= r.nextInt(401)+100;

                            System.out.print(arr[i]+"");

                   }

                   int diff= getDiff(arr);

                   System.out.println();

                   System.out.println("diff="+diff);            

         }

         public static intgetDiff(int[] arr){

                   int sum1= 0;//角标值为偶数的元素累加和

                   int sum2= 0;//角标值为奇数的元素累加和

                   for(inti=0;i<arr.length;i++){

                            if(i%2==0){

                                     sum1+= arr[i];

                            }

                            else{

                                     sum2+= arr[i];

                            }

                   }

                   int diff= (sum1>sum2)?(sum1-sum2):(sum2-sum1);

                   returndiff;          

         }

}

 

第三题(编程题: 35分)

求去掉最高分和最低分后的平均分,要求如下:

定义public static double getScore(int[] arr)方法,方法内完成:获取指定数组arr中去掉元素值最大值和元素值最小值后的元素值平均值,并返回

定义main方法,方法内完成:

1.        定义一个长度为5的int数组arr

2.       使用循环语句键盘录入5个int值存入arr中,存入之前提示当前存入的是第几个元素

3.       传递arr调用getScore(int[]arr)方法,获取方法返回值并在控制台打印输出该返回值

 

public class Test03 {

         public static voidmain(String[] args) {

                   Scannersc = new Scanner(System.in);

                   int[]arr= new int[5];

                   for(inti=0;i<arr.length;i++){

                            System.out.println("请输入第"+(i+1)+"个元素:");

                            arr[i]= sc.nextInt();

                   }

                   doublescore = getScore(arr);

                   System.out.println("平均值为:"+score);

         }

         public staticdouble getScore(int[] arr){

                   doublescore;

                   int sum= 0;

                   int max= arr[0];

                   int min= arr[0];

                   for(inti=0;i<arr.length;i++){

                            if(arr[i]>max)max = arr[i];

                            if(arr[i]<min)min = arr[i];                      

                   }

                   for(inti=0;i<arr.length;i++){

                            sum+= arr[i];

                   }

                   score =(sum-min-max)*1.0/(arr.length-2);

                   returnscore;

         }

}



原创粉丝点击