天天看點

字元串逆序顯示|學習筆記

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