面向对象编程基础习题及答案 下载本文

int sum = 0;

+1pt +1pt +2pt +2pt

while (number != 0) { sum += number % 10; number = number / 10; }

return sum; }

+1pt

6. (8pts) Write a method that computes the average of the values in an array of doubles. The

header of the method is as follows:

public static double average(double[] x)

Referenced Code:

public static double average(double[] x) { double total = 0;

for (int i = 0; i < x.length; i++) total += x[i];

+1pt +2pt +1pt +2pt +2pt

return total / x.length; }

7. (8pts) Write a method that returns the index of the smallest element in an array of integers. If

there are more than one such elements, return the smallest index.

public static int minIndex(int[] list)

Referenced Code:

public static int minIndex(int[] list) { int min = list[0]; int minIndex = 0;

+1pt +1pt +1pt +1pt +1pt +1pt +1pt +1pt

for (int i = 1; i < list.length; i++) if (min > list[i]) { min = list[i]; minIndex = i; }

return minIndex; }

8. (15pts): Write a method that returns a new array with no duplicates. For example, if x is {1, 3,

1, 2, 3, 5}, removeDuplicate(x) returns a new array {1, 3, 2, 5}. The header of the method is

第 33 页 共 34 页

as follows:

public static int[] removeDuplicate(int[] x)

Referenced Code:

public static int[] removeDuplicate(int[] x) { int[] temp = new int[x.length]; int tempSize = 0;

for (int i = 0; i < x.length; i++) { // Check if x[i] is already in temp boolean duplicate = false;

for (int j = 0; j < tempSize; j++) if (x[i] == temp[j]) duplicate = true;

if (!duplicate) { // Add x[i] into temp

temp[tempSize] = x[i]; tempSize++;

}

}

int[] result = new int[tempSize]; System.arraycopy(temp, 0, result, 0, tempSize); return result;

}

第 34 页 共 34 页

+1pt +1pt +1pt +1pt +1pt +1pt +1pt +1pt +1pt +1pt +1pt

+1pt +2pt +1pt