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

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

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

相关文章
|
5月前
|
存储 编译器 C语言
C语言程序设计——字符输出函数putchar()
C语言程序设计——字符输出函数putchar()
|
5月前
|
Python C++ Java
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
38 0
C/C++每日一练(20230405) 数组元素循环右移、输出字符图形、移除链表元素
|
5月前
|
C语言
C语言第四十六弹---最快方法找到杨氏矩阵中的数下标
C语言第四十六弹---最快方法找到杨氏矩阵中的数下标
|
5月前
杨辉三角问题(打印空格版)
特点:1、每个数字等于上一行的左右两个数字之和。2、第n+1行的第i个数等于第n行的第i-1个数和第i个数之和,即 C(n+1,i)=C(n,i)+C(n,i-1)。下面我们通过两种不同的办法实现杨辉三角
|
10月前
|
C语言
C语言十五弹---打印杨辉三角
C语言十五弹---打印杨辉三角
|
10月前
|
C语言
C语言第三十弹---打印一个整数的每一位数
C语言第三十弹---打印一个整数的每一位数
|
前端开发 C语言
【C语言】字符串逆序与三步翻转法(倒置字符串)
【C语言】字符串逆序与三步翻转法(倒置字符串)
163 0
【C语言】字符串逆序与三步翻转法(倒置字符串)
|
算法 C语言
[C语言][典例详解]打印杨辉三角(找规律简单实现)
[C语言][典例详解]打印杨辉三角(找规律简单实现)
114 0