ArrayList初步使用
️Practice the usage of ArrayList all of String with a exampe of NoteBook.
ArrayList all of String的部分函数用法练习,以记事本的例子进行实现 , 顺便练习了一下成员函数的创建及使用。
做了一个记事本的程序,可以实现添加、删除、获取指定内容、改变指定内容(增删改查)、获取记事本的内容数量、指定位置插入的功能。
️学习把代码的业务逻辑部分和人机交互部分分离的思想。
暂时还存在较多的代码重复的地方,还需要优化代码,暂时实现了基本的功能。
代码如下
import java.util.ArrayList;
import java.util.Scanner;
public class NoteBook {
ArrayList<String> notes = new ArrayList<>();
public void add(String s) {
notes.add(s);
}
public String in() {
Scanner in = new Scanner(System.in);
String s = in.nextLine();
return s;
}
public String remove(int index) {
return (notes.remove(index));
}
public int getSize() {
int i = notes.size();
return i;
}
public String getNote(int index) {
return new String(notes.get(index));
}
public void insert(int index, String s) {
notes.add(index, s);
}
public String change(int index, String s) {
return (notes.set(index, s));
}
public static void main(String[] args) {
NoteBook nb = new NoteBook();
// 输入记录的内容储储存到notes中
System.out.println("输入记录内容");
String s = "";
while (!s.equals("结束")) {
s = nb.in();
nb.add(s);
}
nb.remove(nb.getSize()-1);
System.out.println("内容已记录");
// 获取notes的总条数
int total;
total = nb.getSize();
System.out.println("一共有" + total + "条");
// 删除内容
System.out.println("请输入要删除第几条记录");
int index;
Scanner in = new Scanner(System.in);
index = in.nextInt() - 1;
s = nb.remove(index);
System.out.println("已删除记录:" + s);
// 获取指定位置的内容
System.out.println("请输入要查询第几条");
index = in.nextInt()-1;
s=nb.getNote(index);
System.out.println("内容是:"+s);
// 指定位置插入指定内容
System.out.println("请输入要插入的位置");
index = in.nextInt();
System.out.println("请输入要插入的内容");
s=in.nextLine();
nb.insert(index,s);
System.out.println("插入成功");
// 替换指定位置的内容
System.out.println("请输入要替换的位置");
index = in.nextInt();
System.out.println("请输入要替换扥内容");
s= in.nextLine();
nb.change(index,s);
System.out.println("替换成功");
}
}
ArrayList初步使用的更多相关文章
- ArrayList初步
使用ArrayList,需添加引用:using System.Collections: 第一个例子: ArrayList list = new ArrayList(); list.Add(" ...
- c#一些操作
C# FileStream 按大小分段读取文本内容 using System.IO; namespace FileStreamRead { class Program { static void Ma ...
- 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)
在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...
- Dagger2 使用初步
Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发.依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不 ...
- 设计模式之构建者模式(Builder):初步理解
构建者(Builder)设计模式(又叫生成器设计模式): 当一个类的内部数据过于复杂的时候(通常是负责持有数据的类,比如Config.VO.PO.Entity...),要创建的话可能就需要了解这个类的 ...
- 初步探讨WPF的ListView控件(涉及模板、查找子控件)
本文结合模板的应用初步介绍ListView的应用 一.Xaml中如何建立数据资源 大部分数据都会来自于后台代码,如何Xaml同样的建立数据源呢?比如建立一个学生List: 首先引入命名空间: xmln ...
- java_web学习(四) 二维表的制作(初步接触MVC)
我们需要做一个jsp页面,动态显示信息表的内容. 一.需求分析 1. 做一个实体类:StudentInfo (包含4个字段) 2. 如图模拟生成3条数据,本质上就是new StudentInfo ...
- springBoot(1)---springboot初步理解
springboot初步理解 在没有用SpringBoot之前,我们用spring和springMVC框架,但是你要做很多比如: (1)配置web.xml,加载spring和spring mvc 2) ...
- JAVA8 in Action:行为参数化,匿名类及lambda表达式的初步认知实例整理
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.functio ...
随机推荐
- C# 应用 - 使用 WebClient 发起 Http 请求
1. 需要的库类 \Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\System.dll System.Net.WebCli ...
- WPF 基础 - 属性
1. CLR 属性 .Net Framework 中的属性又称为 CLR 属性,是对 private 字段的安全访问包装. 使用 ILSpy 反编译器可以看到 C# 中代码的属性的编译结果是 set. ...
- 攻防世界 reverse SignIn
SignIn 2019_SUCTF __int64 __fastcall main(__int64 a1, char **a2, char **a3) { char mod; // [rsp+0 ...
- OpenGL光照计算中法线矩阵原理及推到过程
问题起源 在计算漫反射关照时,需要用到法线,通过法线和光线的点乘值,计算漫反射的产生的光线强度,所以需要从顶点着色器中将法线数据传递到片源着色器中,但是片源着色器中的顶点坐标是经过了模型矩阵变化过的世 ...
- 手把手教你如何使用Charles抓包
一.为什么使用charles 前几天因为需要通过抓包定位问题,打开了尘封已久的fiddler,结果打开软件后什么也干不了,别说手机抓包了,打开软件什么请求也抓不到. 很多时候都是如此,如果一个方案不行 ...
- vue项目中,更改数组元素的值,视图没有实时更新?
问题背景: export default { data(){ showItems: [false, false, false, false] }, methods: { showItem(index) ...
- 自动QQ邮箱发送邮件
语言:python 参考:https://www.runoob.com/python/python-email.html 前提: 1.QQ邮箱开启了SMTP服务 2.生成了授权码,这个授权码将作为自己 ...
- 阳明-K8S训练营全部文档-2020年08月11日14:59:02更新
阳明-K8S训练营全部文档 Docker 基础 简介 安装 基本操作 Dockerfile Dockerfile最佳实践 Kubernetes 基础 简介 安装 资源清单 Pod 原理 Pod 生命周 ...
- Java利用线程工厂监控线程池
目录 ThreadFactory 监控线程池 扩展线程池 扩展线程池示例 优化线程池大小 线程池死锁 线程池异常信息捕获 ThreadFactory 线程池中的线程从哪里来呢?就是ThreadFoct ...
- HTML(〇):简介导读
网页 什么是网页 网站(Website):是指在因特网上根据一定的规则,使用HTML(标准通用标记语言)等工具制作的用于展示特定内容相关网页的集合. 网页(webpage):是网站中的一页,通常是HT ...