回顾
九、方法与数组
1.数组引用传递
2.在方法中实现排序
3.让方法返回数组
十、与数组有关的操作方法
1.数组的克隆
学习小结
2.数组的排序
利用Java的包库提供的方法来排序
十一、点拨
1.Eclipse中自动生成Getter和setter方法
Eclipse→源码→生成Getter和Setter...→选中需要生成该方法的参数→确定
2.Eclipse中自动生成构造方法(构造函数)
Eclipse→源码→使用字段生成构造函数...→选中需要生成该方法的参数→确定
十二、习题
1.编程实现,现有数组:
int oldArr[] = {1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
int newArr[] = {1,3,4,5,6,6,5,4,7,6,7,5};
public class P250_10_12_1 {
public static void main(String[] args) {
int[] oldArr = { 1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5 };
int newArrIndex = arrNum(oldArr); // 获取数组不为0元素的个数
int[] newArr = new int[newArrIndex]; // 开辟新的数组
newArr = arrNoZero(oldArr, newArrIndex); // 获取去0数组
System.out.println(Arrays.toString(newArr)); // 打印输出新数组
}
// 返回数组不为0元素的个数
public static int arrNum(int[] arr) {
int num = 0;
for (int i : arr) {
if (i == 0)
num += 1;
}
return arr.length - num;
}
// 返回去0数组
public static int[] arrNoZero(int[] arr, int index) {
int[] arr1 = new int[index];
int n = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
arr1[n] = arr[i];
n++;
}
}
return arr1;
}
}
结果:
2.编程实现,要求程序输出某两个整数之间的随机数。
若两数固定:
public class P250_10_12_2 {
// 固定的两个数之间的随机整数
public static void main(String[] args) {
int x = 10,y = 19; // 固定的两个数
int z = (int) (Math.random() * (y+1-x)+x);
System.out.println(z); // 输出随机的整数
}
}
结果:
两数不固定:
import java.util.Scanner;
public class P250_10_12_2_2 {
// 两个整数之间的随机整数
public static void main(String[] args) {
int x = 0, y = 0, z = 0;
Scanner input = new Scanner(System.in);
System.out.println("请务必输入第一个整数:");
x = input.nextInt(); // 获取输入的第一个整数
System.out.println("请务必输入第二个整数:");
y = input.nextInt(); // 获取输入的第二个整数
if (x > y) {
z = (int) (Math.random() * (x + 1 - y) + y);
} else if (x < y) {
z = (int) (Math.random() * (y + 1 - x) + x);
} else {
z = x;
}
System.out.println("两数之间的随机整数为:" + z); // 输出随机的整数
input.close();
}
}
结果:
思考
自驱力