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

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

开发者学堂课程【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(); //启动程序界面

相关文章
|
C语言 C++ 数据格式
C语言学习系列-->第三弹【浅谈输入和输出函数】
C语言学习系列-->第三弹【浅谈输入和输出函数】
73 0
|
7月前
|
存储 编译器 C语言
C语言程序设计——字符输出函数putchar()
C语言程序设计——字符输出函数putchar()
|
7月前
|
C语言
每天一道C语言编程(4):字符串的逆序输出
每天一道C语言编程(4):字符串的逆序输出
100 0
|
7月前
|
C语言
C语言第三十五弹---打印九九乘法表
C语言第三十五弹---打印九九乘法表
|
7月前
|
C语言
C语言第三十四弹--矩形逆置
C语言第三十四弹--矩形逆置
|
C语言
【C语言】小游戏-扫雷(清屏+递归展开+标记)
【C语言】小游戏-扫雷(清屏+递归展开+标记)
56 0
|
C语言
C语言:打印用 * 组成的带空格直角三角形图案
思路: 总体思路: 找到规律: 行数 + 列数 < 三角形长度 - 1 打印 两个空格(题目要求带空格的三角形) 其它情况下打印 *号和空格(题目要求带空格的三角形) 使用 while循环 进行多组输入
295 0
|
C语言
【C语言每日一题】判断字符串旋转结果(附加字符串左旋详解)
【C语言每日一题】判断字符串旋转结果(附加字符串左旋详解)
78 0