開發者學堂課程【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(); //啟動程式界面
}