字符串逆序显示|学习笔记

简介: 快速学习字符串逆序显示

开发者学堂课程【Java 高级编程字符串逆序显示】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/351


字符串逆序显示


从键盘传入多个字符串到程序中,并将它们按逆序输出在屏幕上。

本程序之中应该考虑到如下的几种设计:

既然字符串的内容可以随时修改,那么最好建立一个 StringBuffer 做保存;

在进行数据处理的时候应该由用户自己决定是否继续输入;

 

1、定义字符串的操作标准:

package cn.mldn.demo.service;

public interface IStringService {

public void append(String str);//追加数据

public String[] reverse();//反转处理

图片20.png图片21.png图片22.png

2.实现子类里面就使用 StringBuffer 来操作:

图片23.png图片24.png

图片24.png

public class StringServiceImpl implements IstringService {

private StringBuffer data = new StringBuffer();

@Override

public void append(String str){

this.data.append(str).append("|");

@Override

public String[] reverse()

string result []= this.data.tostring().split("\\|");

int center = result.length / 2 ;

int head = θ ;

int tail = result.length - 1 ;

for (int x = e ;x× < center ;x ++) |}{|

return null;

@Override

public String[] reverse(){

string result []= this.data.tostring().split("\\l");

int center = result.length / 2 ;

int head = θ ;

int tail = result.length - 1 ;

for (int x = e ;x < center ;x ++){

String temp = result[head];

result[head]= result[tail];

result[tail]= temp ;

return result ;


3.定义工厂类:

package cn.mldn.demo.factory;

import cn.mldn.demo.service.IStringService;

import cn.mldn.demo.service.impl.StringServiceImpl;

public class Factory {

private Factory(){}

public static IStringService getInstance(){

return new StringServiceImpl();

4.定义一个 Menu 处理类:采用交互式的界面形式完成处理

图片25.png图片26.png

package cn.mldn.demo.menu;

import java.util.Arrays;

import cn.mldn.demo.factory.Factory;

import cn.mldn.demo.service.IStringService;

import cn.mldn.demo.util.Inpututil;

bublic class Menu {

private IStringService stringService;

public Menu() {

this.stringservice = Factory.get();

this.choose();

public void choose(){

this.show();

String choose = Inpututil.getstring("请进行选择。”);

switch(choose){

case "1”:{//接收输入数据

string str= Inpututil.getstring("请输入字符串数据:"); this.stringservice.append(str);//进行数据的保存

choose();//重复出现

case "2”:{//逆序显示数据

string result []= this.stringService.reverse(); System.out.println(Arrays.toString(result));//输出

choose();//重复出现

case "θ":{

System.out.println("下次再见,拜拜!);

System.exit(1);

default :{

System.out.print1n("您输入了非法的选项,无法进行处理,请确认后再次执行程序!");

choose();

public void show(){

System.out.println("【1】追加字符串数据\n");

System.out.println("【2】逆序显示所有的字符串数据\n");

System.out.println("【6】结束程序执行。");

System.out.println("\n\n\n");


5.编写测试类

package cn.mldn.demo;

import cn.mldn.demo.menu.Menu;

public class IOCaseDemo {

public static void main(string[] args) {

new Menu(); //启动程序界面

相关文章
|
机器学习/深度学习 人工智能 算法
【Pytorch神经网络理论篇】 24 神经网络中散度的应用:F散度+f-GAN的实现+互信息神经估计+GAN模型训练技巧
MINE方法中主要使用了两种技术:互信息转为神经网络模型技术和使用对偶KL散度计算损失技术。最有价值的是这两种技术的思想,利用互信息转为神经网络模型技术,可应用到更多的提示结构中,同时损失函数也可以根据具体的任务而使用不同的分布度量算法。
776 0
|
机器学习/深度学习 存储 容器
AcWing - 蓝桥杯集训每日一题(DAY 6——DAY 10)
一个二叉树,树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历,请你输出它的层序遍历。
AcWing - 蓝桥杯集训每日一题(DAY 6——DAY 10)
|
前端开发 异构计算 内存技术
一文读懂计算机系统中常见的带宽
什么是带宽 带宽应用的领域非常多,可以用来标识信号传输的数据传输能力、标识单位时间内通过链路的数据量、标识显示器的显示能力。
|
机器学习/深度学习 传感器 人工智能
AI公开课:18.05.09 李英睿(碳云智能)—北大AI第十讲之《人工智能在生命科学中的应用》课堂笔记——带你了解生命科学
AI公开课:18.05.09 李英睿(碳云智能)—北大AI第十讲之《人工智能在生命科学中的应用》课堂笔记——带你了解生命科学
AI公开课:18.05.09 李英睿(碳云智能)—北大AI第十讲之《人工智能在生命科学中的应用》课堂笔记——带你了解生命科学
|
机器学习/深度学习 自然语言处理 Python
机器学习之条件随机场(CRF)
什么是CRF CRF即条件随机场(Conditional Random Fields),是在给定一组输入随机变量条件下另外一组输出随机变量的条件概率分布模型,它是一种判别式的概率无向图模型,既然是判别式,那就是对条件概率分布建模。
2914 0
|
4天前
|
人工智能 运维 安全
|
2天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!