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 ...
随机推荐
- 两种常见Content-type的方便理解
application/x-www-form-urlencoded:key=value键值对application/json:{name:"张三"} JSON字符串塞到请求的bod ...
- 字符串匹配-BF算法和KMP算法
声明:图片及内容基于https://www.bilibili.com/video/av95949609 BF算法 原理分析 Brute Force 暴力算法 用来在主串中查找模式串是否存以及出现位置 ...
- Educational Codeforces Round 64 C. Match Points 【二分思想】
一 题面 C. Match Points 二 分析 根据题意很容易想到要去找满足条件的数,因为可以打乱输入的顺序,所以很容易想到二分. 但是如果直接对输入的数组进行二分,如输入$a$,直接在数组里二分 ...
- Tomcat详解系列(1) - 如何设计一个简单的web容器
Tomcat - 如何设计一个简单的web容器 在学习Tomcat前,很多人先入为主的对它的认知是巨复杂的:所以第一步,在学习它之前,要打破这种观念,我们通过学习如何设计一个最基本的web容器来看它需 ...
- APP | edxposed框架+trustmealredy模块抓包小程序
出品|MS08067实验室(www.ms08067.com) 本文作者:ketchup(Ms08067实验室 SRSP TEAM小组成员) 一.下载edxposed框架,由于安卓5.0版本以下的不支持 ...
- Spring Cloud:面向应用层的云架构解决方案
Spring Cloud:面向应用层的云架构解决方案 上期文章我们介绍了混合云,以及在实际操作中我们常见的几种混合云模式.今天我们来聊一聊Spring Cloud如何解决应用层的云架构问题. 对于Sp ...
- python3使用kivy生成安卓程序
技术背景 虽然现在苹果占据了很大一部分的市场,但是从销量数据来看,安卓还是占据了人口的高地.这里我们介绍一个用python的kivy+buildozer来进行安卓APP开发的简单教程,从整个过程中来看 ...
- 基于vite2的react脚手架
vite-react-boilerplate 开发编译 yarn start 启动开发 yarn build 启动编译 代码质量和风格 husky/lint-staged/eslint/prettie ...
- java正则匹配${xxx} 排除单引号双引号内的内容,前提引号必须成对出现
public static void main(String[] a) { String wpp = "select 1, ${mark} '``this is, `/message22` ...
- Dynamics CRM制作报表的时候让用户可以用自己的权限浏览数据
我们做SSRS报表的时候最头疼的问题就是用Sql查出来的数据都是全部数据没有做权限过滤,导致不同用户看到的数据是一样的. 确实Dynamics CRM产品的数据库时有对这个做处理的,其中每个实体都会有 ...