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 ...
随机推荐
- Spark SQL中Not in Subquery为何低效以及如何规避
首先看个Not in Subquery的SQL: // test_partition1 和 test_partition2为Hive外部分区表 select * from test_partition ...
- 解析Wide Residual Networks
Wide Residual Networks (WRNs)是2016年被提出的基于扩展通道数学习机制的卷积神经网络.对深度卷积神经网络有了解的应该知道随着网络越深性能越好,但是训练深度卷积神经网络存在 ...
- 一个名叫Sentinel-Rules-SDK的组件,使得Sentinel的流控&熔断规则的配置更加方便
原文链接:一个名叫Sentinel-Rules-SDK的组件,使得Sentinel的流控&熔断规则的配置更加方便 1 Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越 ...
- Git本地操作2
code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...
- C语言之简易了解程序环境
C语言之简易了解程序环境 大纲: 程序的翻译环境 预编译 编译 汇编 链接 程序的运行环境 在ANSI C的任何一种实现中,存在两个不同的环境. 第1种是翻译环境,在这个环境中源代码被转换为可执行的机 ...
- 全网最详细的Linux命令系列-touch命令
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 命令格式: touch [选项]... 文件... 命令参数: -a 或--tim ...
- C. 【例题3】单词替换
C . [ 例 题 3 ] 单 词 替 换 解析 可以一个个单词读取,输入完之后, 讲整个句子的每个单词遍历一次, 如果这个单词是与单词 a a a相同的话, 就输出 b b b, 否则输出这个单词 ...
- nginx 本地配置(解决跨域问题)
前端做跨域本身就是扯淡的事情.后台人员不配合说什么都是白搭.索性整理了一下心得,(可以直接部署自配置)发不多说上代码: 1 #user nobody; 2 worker_processes 1; 3 ...
- 自学PHP笔记(三) 类型转换
本文转发来自:https://blog.csdn.net/KH_FC/article/details/115558701 在真正使用PHP写项目时会经常用到不同数据类型之间进行转换,PHP中类型转换是 ...
- [Fundamental of Power Electronics]-PART I-2.稳态变换器原理分析-2.3 Boost 变换器实例
2.3 Boost 变换器实例 图2.13(a)所示的Boost变换器器是另一个众所周知的开关模式变换器,其能够产生幅值大于直流输入电压的直流输出电压.图2.13(b)给出了使用MOSFET和二极管的 ...