️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初步使用的更多相关文章

  1. ArrayList初步

    使用ArrayList,需添加引用:using System.Collections: 第一个例子: ArrayList list = new ArrayList(); list.Add(" ...

  2. c#一些操作

    C# FileStream 按大小分段读取文本内容 using System.IO; namespace FileStreamRead { class Program { static void Ma ...

  3. 【干货】用大白话聊聊JavaSE — ArrayList 深入剖析和Java基础知识详解(二)

    在上一节中,我们简单阐述了Java的一些基础知识,比如多态,接口的实现等. 然后,演示了ArrayList的几个基本方法. ArrayList是一个集合框架,它的底层其实就是一个数组,这一点,官方文档 ...

  4. Dagger2 使用初步

    Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发.依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不 ...

  5. 设计模式之构建者模式(Builder):初步理解

    构建者(Builder)设计模式(又叫生成器设计模式): 当一个类的内部数据过于复杂的时候(通常是负责持有数据的类,比如Config.VO.PO.Entity...),要创建的话可能就需要了解这个类的 ...

  6. 初步探讨WPF的ListView控件(涉及模板、查找子控件)

    本文结合模板的应用初步介绍ListView的应用 一.Xaml中如何建立数据资源 大部分数据都会来自于后台代码,如何Xaml同样的建立数据源呢?比如建立一个学生List: 首先引入命名空间: xmln ...

  7. java_web学习(四) 二维表的制作(初步接触MVC)

    我们需要做一个jsp页面,动态显示信息表的内容. 一.需求分析 1.  做一个实体类:StudentInfo (包含4个字段) 2.  如图模拟生成3条数据,本质上就是new StudentInfo ...

  8. springBoot(1)---springboot初步理解

    springboot初步理解 在没有用SpringBoot之前,我们用spring和springMVC框架,但是你要做很多比如: (1)配置web.xml,加载spring和spring mvc 2) ...

  9. JAVA8 in Action:行为参数化,匿名类及lambda表达式的初步认知实例整理

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.functio ...

随机推荐

  1. 简单ping确定网络故障

    1.ping localhost (127.0.0.1) 目的:确定TCP/IP有无问题 2.ping本机地址 用来检测网卡驱动有无问题 如何获取本机地址? win+r cmd 输入ipconfig/ ...

  2. SpringMVC请求映射handler源码解读

    请求映射源码 首先看一张请求完整流转图(这里感谢博客园上这位大神的图,博客地址我忘记了): 前台发送给后台的访问请求是如何找到对应的控制器映射并执行后续的后台操作呢,其核心为DispatcherSer ...

  3. 10、Spring教程之整合MyBatis

    1.步骤 1.导入相关jar包 junit <dependency> <groupId>junit</groupId> <artifactId>juni ...

  4. python3表格数据处理

    技术背景 数据处理是一个当下非常热门的研究方向,通过对于大型实际场景中的数据进行建模,可以用于预测下一阶段可能出现的情况.比如我们有过去的2002年-2018年的黄金价格的数据: 该数据来源于Gite ...

  5. python中zip函数的使用

    zip(*iterables) zip可以将多个可迭代对象组合成一个迭代器对象,通过迭代取值,可以得到n个长度为m的元组.其中n为长度最短可迭代对象的元素个数,m为可迭代对象的个数.并且每个元组的第i ...

  6. linux日志文件说明

    /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与 ...

  7. ffmpeg第五篇:让水印图片旋转起来

    这篇把上次挖的坑填上 ffmpeg正式篇的上一篇(传送门)说了,这一篇要让水印旋转起来,但是后面有事情一直没有时间搞,今天,它来了............ 如果想实现旋转的功能,需要使用ffmpeg过 ...

  8. DSP代码搬运至RAM运行

    程序运行过程中,有些函数或程序段和数据等经常调用,正常情况下在FLASH中运行处理消耗时间和资源较大,通常将其移植至RAM中运行,可提高运行效率. 如: 1 #pragma CODE_SECTION( ...

  9. Windows上Docker Toolbox修改镜像源

    https://blog.csdn.net/weixin_36242811/article/details/90515835

  10. 了解什么是Odoo,为二次开发做准备

    什么是odoo odoo是由python语言开发,XML为模板的一体化业务解决方案系统,主要使用在企业资源规划(ERP)领域,还可以当做CMS系统,快速搭建自己博客.商城...系统 odoo前身是Op ...