黑马程序员技术交流社区
标题: JavaEE11期技术贴 [打印本页]
作者: 林LLL 时间: 2018-3-24 23:54
标题: JavaEE11期技术贴
本帖最后由 林LLL 于 2018-3-25 00:09 编辑
二维数组
二维数组:其实就是元素为一维数组的数组
定义格式:
A : 数据类型[ ] [ ] 数组名; ( )推荐方式
B : 数据类型 数组名 [ ] [ ] ;
C : 数据类型[ ] 数组名 [ ];
初始化 :
A : 动态初始化
数据类型[ ] [ ] 数组名 = new 数据类型[m ] [ n ];
m表示的是二维数组中一维数组的个数
n 表示的是一维数组中的元素个数
B : 静态初始化
数据类型[ ] [ ] 数组名 = new 数据类型[ ] [ ] {元素. . .} , {元素. . .} , {元素. . .} ,
简化格式 :
数据类型[ ] [ ] 数组名 = { {元素. . .} , {元素. . .} , {元素. . .} , . . . } ;
二维数组名配合索引可以获取到每一个一维数组。
每一个一维数组配合索引名可以获取到数组中的元素。
重难点题
1.基础班考试要进行分组,键盘录入该班级总共多少组?以及每组的学生数量?
2.根据录入的组数及每组学员的数量创建二维数组
3.利用随机数产生0-100的成绩(包含0和100)
4.要求:
(1)打印该班级中每组的不及格人数
(2)打印该班级中每组的平均分
(3)打印组的最高平均分
(4)打印班级中的不及格人数
(5)打印班级平均分
(6)演示格式如下:
请输入班级总组数:3
请输入班级中每组的人数:10
控制台输出:
第1组不及格人数为: 6 人
第1组平均分为: 52
第2组不及格人数为: 7 人
第2组平均分为: 46
第3组不及格人数为: 3 人
第3组平均分为: 69
班级中单组最高平均分为:69
班级中不及格人数为: 16 人
班级总平均分为: 56
package com.itheima.test;
import java.util.Random;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("班级的组数");
int group = sc.nextInt();
System.out.println("组的人数");
int number = sc.nextInt();
//{{0,0,0},{0,0,0},{0,0,0}};
int[][] arr = new int[group][number];
Random r = new Random();
/*int score = r.nextInt(101);//0-100
arr[0][0]= score;
int score1 = r.nextInt(101);//0-100
arr[0][1]= score1;
int score2 = r.nextInt(101);//0-100
arr[0][2]= score2;
int score3 = r.nextInt(101);//0-100
arr[1][0]= score3;*/
for (int i = 0; i < arr.length; i++) { // arr.length 是一维数组的数量
//arr;
for (int j = 0; j < arr.length; j++) { //arr.length 是一维数组里面的元素个数
// arr[j]
int score = r.nextInt(101);
arr[j]= score;
}
}
//打印该班级中每组的不及格人数
/*
* 打印出该班级的总的不及格人数
* 1:先拿到每个组的每个人的成绩,然后和60比较,比60小的就记录一次
*/
/* int count =0;
for (int i = 0; i < arr.length; i++) {// arr.length 是一维数组的数量
// arr
int groupCount=0;
for (int j = 0; j < arr.length; j++) {
// arr[j]
System.out.println(arr[j]);
if(arr[j]<60){
count++;
groupCount++;
}
}
System.out.println("每组的不及格人数"+groupCount);
}
System.out.println("班级的总的不及格人数:"+count);*/
//班级中每组的平均分 平均成绩 = 组的总分/组的人数
/*for (int i = 0; i < arr.length; i++) {// arr.length 是一维数组的数量
// arr 每组
int sum = 0;
for (int j = 0; j < arr.length; j++) {//arr.length 是一维数组里面的元素个数
// arr[j] 每组的每个人
sum += arr[j];
}
System.out.println((i+1)+"组的平均成绩"+(sum/arr.length));
}*/
//组的最高平均分
/*int max = 0;
for (int i = 0; i < arr.length; i++) {// arr.length 是一维数组的数量
// arr 每组
int sum = 0;
for (int j = 0; j < arr.length; j++) {//arr.length 是一维数组里面的元素个数
// arr[j] 每组的每个人
System.out.println(arr[j]);
sum += arr[j];
}
int groupAvg = sum/arr.length;
if(groupAvg>max){
max = groupAvg;
}
}
System.out.println("最高平均分"+max);*/
//打印班级中的不及格人数
/*int count=0;
for (int i = 0; i < arr.length; i++) {// arr.length 是一维数组的数量
//arr 每个组
for (int j = 0; j < arr.length; j++) {//arr.length 是一维数组里面的元素个数
// arr[j] 每个组的每个人的成绩
System.out.println(arr[j]);
if(arr[j]<60){
count++;
}
}
}
System.out.println(count);*/
//打印班级平均分 = 班级的总分/ 班级的总人数
int sum = 0;
for (int i = 0; i < arr.length; i++) { // arr.length 是一维数组的数量
// arr 每个组
for (int j = 0; j < arr.length; j++) {//arr.length 是一维数组里面的元素个数
// arr[j] 每个组的每个人的成绩
System.out.println(arr[j]);
sum += arr[j];
}
}
System.out.println(sum/(group*number));
}
}
类名作为形式参数和返回值
类名作为方法的形式参数
package com.itheima;
public class Student {
public void study() {
System.out.println("好好学习,天天向上");
}
}
package com.itheima;
public class Teacher {
public void test(Student s) {//接收传递过来的Student对象的地址值
s.study();
}
}
package com.itheima;
//需求: 调用Teacher的test方法
//类名作为形式参数:其实这里需要的是该类对象。
public class Test {
public static void main(String[] args) {
Teacher t = new Teacher();
Student s = new Student();
t.test(s);
}
}
类名作为返回值
package com.itheima;
public class Student {
public void study() {
System.out.println("好好学习,天天向上");
}
}
package com.itheima;
public class Teacher {
public Student getStudent() {
Student s = new Student();
return s;//返回的是Student对象的地址值
}
}
package com.itheima;
//需求: 通过Teacher得到Student对象,然后调用Student类的方法
//如果方法的返回值是类名:其实返回的是该类的对象
public class Test {
public static void main(String[] args) {
Teacher t = new Teacher();
Student s = t.getStudent();
s.study();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |