面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果

时间:2023-01-29 01:47:48
 package com.rui.test; 

 import java.util.Random;

 /**
* @author poseidon
* @version 1.0
* @date:2015年10月25日 上午11:12:24
* @description: 面试题-->写一个函数,返回一个数组中所有元素被第一个元素除的结果
* 陷阱:
* 1.循环需要倒着写,为什么?
* 想想顺着写循环的结果,第一个元素的值会发生变化后面再除就会有问题
* 2.需要考虑除数为零的边界
* 考察:
* 面试者的思维、分析、编程的能力
* 小结:
* 题目不难,但是可以看出编程过程中思考问题的全面性,以及防止异常的发生,保障程序的健壮
* 来源:
* 《编程之美》
*
*/
public class Function { public static void main(String[] args) {
int[] arr = getRadom(10,100);
int len = arr.length;
System.out.println("遍历前-->");
for(int i=0;i<len;i++){
System.out.print(arr[i]+",");
}
if(arr[0] !=0){
for(int i=len-1;i>=0;i--){
arr[i] /= arr[0];
}
System.out.println();
System.out.println("遍历后-->");
for(int i=0;i<len;i++){
System.out.print(arr[i]+",");
}
}else{
System.out.println("除数不能为零");
}
} /**
* 获取随机数组:长度为len,范围0-num
*/
public static int[] getRadom(int len,int num) {
int[] arr = new int[len];
for(int i=0;i<len;i++){
Random random = new Random();
arr[i] = random.nextInt(num);
}
return arr;
} }