作业1:
请输入10位同学的java成绩,
1、求平均成绩,最高成绩、最低成绩
2、对10的成绩按照从低到高的顺序排列(选做)
package homework;
/**作业1:
请输入10位同学的java成绩,
1、求平均成绩,最高成绩、最低成绩
2、对10的成绩按照从低到高的顺序排列(选做)*/
//import java.util.*;
public class Hw01 {
public static void main(String[] args) {
// Scanner sc = new Scanner(System.in);
// 循环接受输入的10个成绩
// double[] arr = new double[10];
// for (int i = 1; i<=10; i++) {
// System.out.print("请输入第"+i+"个同学的成绩:");
// double score = sc.nextDouble();
// arr[i-1] = score;
// }
// 遍历数组
// for (double i : arr) {
// System.out.println(i);
// }
// 通过输入做有些麻烦,这里面直接给出数据了
// 数组初始化分动态和静态两种,是不允许同时使用的
double[] arr = new double[]{56,78,98,99,66,88,77,68,74,100};
System.out.println(avg(arr));
max_min(arr);
sort(arr);
}
// 求平均值
public static double avg(double[] arr) {
// 求和
double sum = 0;
for (double i : arr) {
sum += i;
}
double avg = sum / 10;
return avg;
}
// 求最大值最小值
public static void max_min(double[] arr) {
double min = arr[0];
double max = arr[0];
for (double i : arr) {
if (i < min) {
min = i;
}
if (i > max) {
max = i;
}
}
System.out.println("min:"+min);
System.out.println("max:"+max);
}
//排序 从低到高
public static void sort(double arr[]) {
// 先默认第一个是最小的,依次循环把每次最小的找出来放在前面
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j <arr.length; j++) {
if (arr[j] < arr[i]) {
double temp = arr[j];// 接收小值
arr[j] = arr[i];
arr[i] = temp;
}
}
}
for (double i : arr) {
System.out.println(i);
}
}
}
作业2:
给定一个数组,判断某个元素是否在该数组中
package homework;
//给定一个数组,判断某个元素是否在该数组中
public class Hw02 {
public static void main (String[] args) {
String element = "xiaozhang";
String[] arr = new String[] {"xiaozhao","zhangsan","xiaozhang"};
System.out.println(judge(element, arr));
}
// 判断元素是否在数组里面
public static Boolean judge(String element,String[] arr) {
for (String i : arr) {
if (i == element) {
return true;
}
}
return false;
}
}
作业3:
给定一个数组,大小为10,输入十个同学的成绩,求这些成绩的总分数
某一天转入2个新同学,请再次求12个同学的平均成绩(尝试着使用扩容的形式做)
package homework;
/*给定一个数组,大小为10,输入十个同学的成绩,求这些成绩的总分数
某一天转入2个新同学,请再次求12个同学的平均成绩(尝试着使用扩容的形式做)*/
public class Hw03 {
public static void main(String[] args) {
// 通过输入做有些麻烦,这里面直接给出数据了
// 数组初始化分动态和静态两种,是不允许同时使用的
int[] arr = new int[]{56,78,98,99,66,88,77,68,74,100};
System.out.println("10人的总成绩是:"+sum(arr));
arr = arr_big(arr,12);
arr[10] = 98;
arr[11] = 90;
for (int i : arr) {
System.out.println(i);
}
System.out.println("12人的平均成绩是:"+avg(arr));
}
// 求和
public static int sum(int[] arr) {
int sum = 0;
for (int i : arr) {
sum += i;
}
return sum;
}
// 求平均值
public static double avg(int[] arr) {
// 求和
int sum = Hw03.sum(arr);
double avg = sum / 10;
return avg;
}
// 数组扩容 原数组 扩成多少位
public static int[] arr_big(int[] arr, int len) {
int[] newArr = new int[len];
for (int i = 0; i < arr.length; i++) {
newArr[i] = arr[i];
}
return newArr;
}
}
作业4:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
{10, 8, 5, 3, 27, 99}
package homework;
/*作业4:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
{10, 8, 5, 3, 27, 99}*/
public class Hw04 {
public static void main(String[] args) {
int[] arr = new int[]{10, 8, 5, 3, 27, 99};
System.out.println(getCoin(arr));
}
public static int getCoin(int[] arr) {
int count = 0;
for (int i = 0; i < arr.length; i++) {
int num = arr[i];
if (num % 2 == 0) {
count += num / 2;
} else {
count += num / 2 + 1;
}
}
return count;
}
}
作业5:将数组中的重复数据去重
package homework;
//将数组中的重复数据去重
public class Hw05 {
public static void main(String[] args) {
int[] arr = new int[]{10, 8, 5, 8, 5, 5, 6, 6 , 7, 8 , 8};
int index = 0;
// newArr用来存放不重复的值
int[] newArr = new int[index];
// 对数组进行循环
for (int i = 0; i < arr.length; i++) {
boolean flag = true;
// arr[i] 和 newArr中的数值进行判断
for (int j = 0; j < newArr.length; j++) {
// 如果相等也就是重复,直接结束当前循环
if (arr[i] == newArr[j]) {
flag = false;
break;
}
}
// 如果不重复,先进行数组扩容,再把数据填进去
if (flag) {
index++;
newArr = arr_big(newArr, index);
newArr[index-1] = arr[i];
}
}
for (int i : newArr) {
System.out.println(i);
}
}
//数组扩容 原数组 扩成多少位
public static int[] arr_big(int[] arr, int len) {
int[] newArr = new int[len];
for (int i = 0; i < arr.length; i++) {
newArr[i] = arr[i];
}
return newArr;
}
}
作业6:如何将10个0-10随机存入数组中
package homework;
//如何将10个0-10随机存入数组中
public class Hw06 {
public static void main(String[] args) {
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = random(0,10);
}
for (int i : arr) {
System.out.println(i);
}
}
// 生成随机数
public static int random(int min, int max) {
return (int) (Math.random() * (max - min) + min);
}
}