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# 应用 - 多线程 7) 处理同步数据之 Synchronized code regions (同步代码区域): Monitor 和 lock
目录: System.Threading.Monitor:提供同步访问对象的机制; lock 是语法糖,是对 Monitor Enter 和 Exit 方法的一个封装 lock 案例 1. Monit ...
- Sentinel高级
Sentinel高级 sentinel和springCloud整合 减少开发的复杂度,对大部分的主流框架,例如:Web Servlet.Dubbo.Spring Cloud.gRPC.Spring W ...
- PTE 准备之 Describe Image
25s 准备时间:决定用什么模板,用模板cover那些信息点 Content: 数字和文字哪个多,就多说哪个,均匀覆盖 Fluency : 保持流利度 不要纠结时态,单复数,人称代词等 时间要求: 尽 ...
- 攻防世界 reverse elrond32
tinyctf-2014 elrond32 1 int __cdecl main(int a1, char **arg_input) 2 { 3 if ( a1 > 1 && c ...
- Redis实战篇(三)基于HyperLogLog实现UV统计功能
如果现在要开发一个功能: 统计APP或网页的一个页面,每天有多少用户点击进入的次数.同一个用户的反复点击进入记为 1 次,也就是统计 UV 数据. 让你来开发这个统计模块,你会如何实现? 如果统计 P ...
- 以绝对优势立足:从CDN和云存储来聊聊云生态的崛起
以绝对优势立足:从CDN和云存储来聊聊云生态的崛起 前面几期文章我们介绍了混合云模式,以及面向应用层的云架构解决方案的Spring Cloud.接下来,我们就以蘑菇街的两个具体案例,来分享一下基于混合 ...
- SparkStreaming使用mapWithState时,设置timeout()无法生效问题解决方案
前言 当我在测试SparkStreaming的状态操作mapWithState算子时,当我们设置timeout(3s)的时候,3s过后数据还是不会过期,不对此key进行操作,等到30s左右才会清除过期 ...
- 软工AI Bot NABCD分析
目标: 打造一个基于大数据的 IT 问答机器人服务,通过运用人工和AI 技术,极大提高问答产品的用户满意度. 适合高校<软件工程>,<人工智能>课程作为结对编程或者团队项目. ...
- 构建一个Flowable命令行应用
官网链接 [(https://flowable.com/open-source/docs/bpmn/ch02-GettingStarted/#building-a-command-line-appli ...
- 如何识别自己基因组数据是哪个全基因组参考版本(Genome Reference Versions/ Genome Build)
首先在这里先感谢我们[Bio生信学习交流群]的群友和创建此群的群主[陈博士后]. 今天解决的问题是怎么查看自己的基因组数据是哪个Genome Reference Versions. 步骤: 第一步,打 ...