开发者学堂课程【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();//反转处理
}
2.实现子类里面就使用 StringBuffer 来操作:
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 处理类:采用交互式的界面形式完成处理
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(); //启动程序界面
}