package com._520it.array;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
//1):初始容量为5的线性列表,准备用来存储场上的5个球衣号码. num 表示球衣号码
//2):安排5个球员上场:[11,22,33,44,55].
//3):查询指定位置的球员的球衣号码是多少.查询索引位置为2的球衣号码是:33.
//4):根据球衣号码查询该球员在场上的索引位置. 44球衣号的球员在场上的索引位置是:3.
//5):替换场上索引位置为2的球员,替换之后该位置的球衣编号为333. 333把33替换了.
//5):替换场上索引位置为2的球员,替换之后该位置的球衣编号为333. 333把33替换了.
//6):替换球衣号码为22的球员,替换之后为222.
//7):把场上索引位置为2的球衣罚下场(注意:罚下,没有补位.).
//8):按照球员在场上的位置,打印出球衣号码,打印风格:[11,22,33,44,55].
public class BasketballPlayerDemo {
// 用来存储球员的球衣号码
private static Integer[] players = null;
// 设置球场上的球员个数
private static int size = 0;
//1):初始容量为5的线性列表,准备用来存储场上的5个球衣号码. 初始化
private static void init(int initial){ //代码的增强
if(initial <0){
throw new IllegalArgumentException("容量不可以为负");
}
players = new Integer[initial];
}
//2):安排5个球员上场:[11,22,33,44,55].
private static void add(Integer num){
//判断扩容
if( size == players.length){
Integer[] temp = Arrays.copyOf(players, players.length*2);
players = temp ;
}
players[size] = num ;
size++;
}
//3):查询指定位置的球员的球衣号码是多少.查询索引位置为2的球衣号码是:33.
private static Integer getNum(int index){
if(index <0 || index > size){ //代码的增强
throw new IllegalArgumentException("索引越界啦");
}
return players[index];
}
//4):根据球衣号码查询该球员在场上的索引位置. 44球衣号的球员在场上的索引位置是:3.
// 查询索引位置要一个一个元素查询
private static int getIndex(Integer num ){
for (int index = 0; index < size; index++) {
if (players[index].equals(num)) {
return index;
} else{
System.out.println("没有这位球员");
}
}
return -1; //注意此刻return位置,在for循环外面, 一直判断完成,没有符合的index ,则返回 -1
}
//5):替换场上索引位置为2的球员,替换之后该位置的球衣编号为333. 333把33替换了.
private static void set(int index ,Integer newNum){
if(index <0 || index > size){ //代码的增强
throw new IllegalArgumentException("索引越界啦");
}
players[index] = newNum ;
}
//6):替换球衣号码为22的球员,替换之后为222.
private static void updata(Integer oldNum , Integer newNum){
int index =getIndex(oldNum); // 直接调用获取索引地址的方法,判断是否存在
if(index > 0){
set(index , newNum); //如果存在 ,调用 5 的方法
}
}
//7):把场上索引位置为2的球衣罚下场(注意:罚下,没有补位.).
private static void delete(int index){
if(index <0 || index > size){ //代码的增强
throw new IllegalArgumentException("索引越界啦");
}
for (int i = index; i < size-1; i++) { //删除一个对象之后,将索引位置为index后面的元素往前移动一个位置
players[i] = players[i+1]; // 后一位球衣号往前挪一个位置
}
players[size-1] = null; //将最后一个对象赋值null
size -- ;
}
//8):按照球员在场上的位置,打印出球衣号码,打印风格:[11,22,33,44,55].
private static void print(){
if (players == null ) {
System.out.println("null");
return ;
}
if (size == 0) {
System.out.println("[]");
return;
}
StringBuilder sb =new StringBuilder();//此处没有定义长度的话默认值为16
sb.append("[");
for (int index = 0; index < size; index++) {
sb.append(players[index]);
if(index != (size-1)){//判断是不是最后一个元素
sb.append(",");
}else{
sb.append("]");
}
}
System.out.println(sb.toString());
}
public static void main(String[] args) {
//1):初始容量为5的线性列表,准备用来存储场上的5个球衣号码. num 表示球衣号码
init(5);
//2):安排5个球员上场:[11,22,33,44,55].
add(11);
add(22);
add(33);
add(44);
add(55);
add(66);
add(77);
add(88);
//3):查询指定位置的球员的球衣号码是多少.查询索引位置为2的球衣号码是:33.
System.out.println(getNum(2));
//4):根据球衣号码查询该球员在场上的索引位置. 44球衣号的球员在场上的索引位置是:3.
System.out.println(getIndex(44));
//5):替换场上索引位置为2的球员,替换之后该位置的球衣编号为333. 333把33替换了.
set(2,333);
//6):替换球衣号码为22的球员,替换之后为222.
updata(22,222);
//7):把场上索引位置为2的球衣罚下场(注意:罚下,没有补位.).[11,222,44,55]
delete(2);
//8):按照球员在场上的位置,打印出球衣号码,打印风格:[11,22,33,44,55].
print();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
网易公开课http://study.163.com/course/introduction/1003108028.htm任小龙JAVA教程的配套笔记和源代码。全部都有!看此视频,再加上此套现场笔记和源代码,保证你在学习的过程中事半功倍!此套资料包含EXCEL笔记,源代码,X-Mind脑图,JDK_API帮助文档!这是最前面的资料!
资源推荐
资源详情
资源评论
收起资源包目录
网易公开课任小龙JAVA教程全套笔记资料含代码 (1796个子文件)
000f6465622d001616bce983d064bca7 1KB
0017fa45912f001610c9bbf55755a543 364B
0018ea10233200161e95f1349957b01e 264B
001daf246d2d001616bce983d064bca7 875B
002b4656b43200161228ae693b3d9c53 2KB
0034530bbf2f00161f8cabf130625bad 691B
0039d6fa6c2d001616bce983d064bca7 875B
0046267dc22f00161f8cabf130625bad 557B
004b6bd7c32f00161f8cabf130625bad 0B
0062a7ea413200161e95f1349957b01e 257B
00737429ac3200161228ae693b3d9c53 949B
007c14be1e3200161e95f1349957b01e 531B
007ccf37a62f00161f8cabf130625bad 693B
008117043a3200161e95f1349957b01e 812B
009ffab9c33200161228ae693b3d9c53 2KB
00a5550bbf2f00161f8cabf130625bad 807B
00a63a4d3a3200161e95f1349957b01e 807B
00b0ad786e2d001616bce983d064bca7 1KB
00d0d6b3692600161b20acecd1f30130 1KB
00fe46b1672d001616bce983d064bca7 967B
10065103213200161e95f1349957b01e 1KB
100ac086b42f00161f8cabf130625bad 695B
10122c596d2600161b20acecd1f30130 2KB
10185044b32f00161f8cabf130625bad 967B
102213a45b2d001616bce983d064bca7 676B
102e0e36632d001616bce983d064bca7 0B
102f147dab3200161228ae693b3d9c53 605B
1031b7e1412e001610489b6645b9b1d2 445B
10362362ab3200161228ae693b3d9c53 537B
10538fb3173200161e95f1349957b01e 2KB
10626a003b3200161e95f1349957b01e 1KB
106e5b90a12f00161f8cabf130625bad 0B
1072cf493b3200161e95f1349957b01e 1KB
107a718f6e2d001616bce983d064bca7 1KB
1080b7bc4a3200161e95f1349957b01e 615B
1086ef76203200161e95f1349957b01e 1KB
10879b166f2d001616bce983d064bca7 1KB
108829076a2600161b20acecd1f30130 1KB
1097d8c56d2d001616bce983d064bca7 875B
109b8711243200161e95f1349957b01e 667B
109bb4465a3000161ec4b0c5ec6ef750 81B
109fe42a6d2d001616bce983d064bca7 875B
10a1a3fd412e001610489b6645b9b1d2 1001B
10bd1481a82f00161f8cabf130625bad 1010B
10c51fab6d2d001616bce983d064bca7 875B
10ced4974f3200161e95f1349957b01e 2KB
10ed7ad7603000161ec4b0c5ec6ef750 755B
2000a787503200161e95f1349957b01e 2KB
2046f85a3a2e001610489b6645b9b1d2 0B
205a815aa83200161228ae693b3d9c53 0B
2063f764652d001616bce983d064bca7 0B
206a49a2c22f00161f8cabf130625bad 532B
206cf440c22f00161f8cabf130625bad 498B
207115d3912f001610c9bbf55755a543 109B
207afdb8692600161b20acecd1f30130 1KB
207d95daa82f00161f8cabf130625bad 695B
2083ebaf3d3200161e95f1349957b01e 67B
208d0bb8ab3200161228ae693b3d9c53 632B
208fcf6c592d001616bce983d064bca7 0B
2094db32552d001616bce983d064bca7 0B
209c696d912f001610c9bbf55755a543 0B
20a2e9f3c02f00161f8cabf130625bad 984B
20adbbc5552d001616bce983d064bca7 76B
20bea0dda42f00161f8cabf130625bad 548B
20c0ca4f603000161ec4b0c5ec6ef750 757B
20c788ff722600161b20acecd1f30130 2KB
20ca61eaa72f00161f8cabf130625bad 61B
20dd0d69622d001616bce983d064bca7 1KB
20e8e86b583000161ec4b0c5ec6ef750 0B
20e93a46583000161ec4b0c5ec6ef750 0B
20ee22596f2d001616bce983d064bca7 1KB
20f5f05d682d001616bce983d064bca7 0B
20fa404a6a2600161b20acecd1f30130 1KB
30083ad73c3200161e95f1349957b01e 1KB
30245224c32f00161f8cabf130625bad 557B
3026c9fa393200161e95f1349957b01e 808B
3031b921c02f00161f8cabf130625bad 556B
30568090493200161e95f1349957b01e 0B
3056a3dda42f00161f8cabf130625bad 740B
3061bd31ab3200161228ae693b3d9c53 62B
30636e746f2d001616bce983d064bca7 1KB
30657d932b3200161e95f1349957b01e 2KB
306683fdb22f00161f8cabf130625bad 978B
307b44b2253200161e95f1349957b01e 1KB
3082e5425b2d001616bce983d064bca7 675B
3089ad8a2b3200161e95f1349957b01e 2KB
30961f541f3200161e95f1349957b01e 812B
30a31650423200161e95f1349957b01e 321B
30a7d26bac3200161228ae693b3d9c53 976B
30b86fce413200161e95f1349957b01e 64B
30b9aebca72f00161f8cabf130625bad 0B
30bb3df3b43200161228ae693b3d9c53 2KB
30bcfbea443200161e95f1349957b01e 1KB
30e1aba26c2d001616bce983d064bca7 880B
30e951956c2d001616bce983d064bca7 880B
30fbf004b53200161228ae693b3d9c53 2KB
400a919f1a3200161e95f1349957b01e 1KB
400d9076aa3200161228ae693b3d9c53 779B
403e9998672d001616bce983d064bca7 967B
4049cc1d442e001610489b6645b9b1d2 1KB
共 1796 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
- 大志强2019-07-04内容很全面,配合视频看很不错,挺好的
- wsm11102019-02-22不错挺好的
wzgcn
- 粉丝: 11
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功