一个养鸡场有 6 只鸡, 它们的体重分别是 3kg,5kg,1kg,3.4kg,2kg,50kg 。 请问这六只鸡的总体重是多少?平均体重是多少?
public class array01 {
public static void main(String[] args){
double[] hens = {3,5,1,3.4,2,5.1};
double sum = 0;
//遍历数组下标来访问数组的值
for (int i = 0; i < hens.length; i++){
sum += hens[i];
}
double avg = sum/hens.length;
System.out.println("总体重:"+sum+"平均体重:"+avg);
}
}
数组使用:循环输入 5 个成绩, 保存到 double 数组,并输出
import java.util.Scanner;
public class array02 {
public static void main(String[] args) {
//创建大小为5的double数组
//(1)double scores[] = new double[5];
//(2)
double scores[];
scores = new double[5];
Scanner myscanner = new Scanner(System.in);
for (int i = 0; i < scores.length; i++){
System.out.println("请输入第"+(i+1)+"元素的值");
scores[i] = myscanner.nextDouble();
}
System.out.println("数组元素如下:");
for (int j = 0; j < scores.length; j++){
System.out.println("第"+(j+1)+"元素的值为:"+scores[j]);
}
}
}
创建一个 char 类型的 26 个元素的数组, 分别 放置'A'-'Z'。 使用 for 循环访问所有元素并打印出来。 提示: char 类型数据运算 'A'+2 -> 'C'
public class array03 {
public static void main(String[] args) {
char[] ch = new char[26];
for (int i = 0; i < ch.length; i++){
ch[i] = (char) ('A'+i);
}
for (int j = 0; j < ch.length; j++){
System.out.print(ch[j]+"\t");
}
}
}
请求出一个数组 int[]的最大值 {4,-1,9, 10,23}, 并得到对应的下标。
public class array04 {
public static void main(String[] args) {
int[] array = {4,-1,9,10,23};
int max = array[0];
int index = 0;
for (int i = 1; i < array.length; i++){
if (max < array[i]){
max = array[i];
index = i;
}
}
System.out.println("最大值为:"+max+"下标为:"+index);
}
}
将 int[] arr1 = {10,20,30}; 拷贝到 arr2 数组, 要求数据空间是独立的
要求数据空间独立,创建一个新的数组
public class array05 {
public static void main(String[] args) {
int[] arr1 = {10,20,30};
int[] arr2 = new int[arr1.length];
for (int i = 0; i < arr1.length; i++){
arr2[i] = arr1[i];
}
for (int i = 0; i < arr2.length; i++){
System.out.print(arr2[i]+"\t");
}
}
}
把数组的元素内容反转。
arr {11,22,33,44,55,66} {66, 55,44,33,22,11}
public class array06 {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55,66};
for (int i = 0; i < arr.length/2; i++){
int temp = arr[arr.length-i-1];
arr[arr.length-i-1] = arr[i];
arr[i] = temp;
}
for (int i = 0; i < arr.length; i++){
System.out.print(arr[i]+"\t");
}
}
}
实现动态的给数组添加元素效果, 实现对数组扩容
原始数组使用静态分配 int[] arr = {1,2,3},增加的元素 4, 直接放在数组的最后 arr = {1,2,3,4}
用户可以通过如下方法来决定是否继续添加, 添加成功, 是否继续? y/n
import java.util.Scanner;
public class array07 {
public static void main(String[] args) {
int[] arr = {1,2,3};
System.out.println("数组元素为:");
for (int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
do {
System.out.println("请输入要添加的元素:");
Scanner myscanner = new Scanner(System.in);
int[] new_arr = new int[arr.length + 1];
for (int i = 0; i < arr.length; i++) {
new_arr[i] = arr[i];
}
int add = myscanner.nextInt();
new_arr[new_arr.length - 1] = add;
System.out.println("选择是否要添加元素,y/n");
char choice = myscanner.next().charAt(0);
if (choice == 'n'){
break;
}
}while (true);
}
}