package day20_javaIO_Demo; import java.util.Arrays; /* * 字符串逆序显示 * 从键盘传入多个字符串到程序中,并将其按逆序输出 * 考虑要素:内容可以随时修改(StringBuffer),由用户决定是否输入 */ //定义字符串的操作标准 interface IStringService { public void append(String str); // 追加数据 public String[] reverse(); // 反转处理 } //实现子类定义,利用StringBuffer class StringServiceImpl implements IStringService { private StringBuffer data = new StringBuffer(); @Override public void append(String str) { // TODO Auto-generated method stub this.data.append(str).append("|"); } @Override public String[] reverse() { String results[] = this.data.toString().split("\\|"); int center = results.length / 2; int head = 0; int tail = results.length - 1; for (int i = 0; i < center; i++) { String temp = results[head]; results[head] = results[tail]; results[tail] = temp; } return results; } } class FactoryString { // 定义工厂类 private FactoryString() { } public static IStringService getInstance() { return new StringServiceImpl(); } } //定义一个Menu处理类,采用交互式的界面形式处理 class Menu { private IStringService stringService; public Menu() { this.stringService = FactoryString.getInstance(); this.choose() ; } public void choose() { this.show(); String choose = StringUtil.getString("请进行选择:"); switch (choose) { case "0": { System.out.println("下次再见!"); System.exit(1); } case "1": { // 接收输入数据 String str = StringUtil.getString("请输入字符串数据:"); this.stringService.append(str); // 进行数据的保存 choose(); } case "2": { // 接收输入数据 String results[] = this.stringService.reverse(); // 进行数据的翻转 System.out.println(Arrays.toString(results)); // 直接输出 choose(); } default: { System.out.println("非法操作请确认后重新输入!"); choose(); } } } public void show() { System.out.println("0.结束程序执行\n"); System.out.println("1.追加字符串数据\n"); System.out.println("2.逆序显示所有的字符串数据"); System.out.println("\n"); } } public class java_StringReverse { public static void main(String[] args) { new Menu() ; //启动程序界面 } }
本程序用到的StringUtil类中的getString参考另一篇博客中的类,访问地址:https://blog.csdn.net/qq_41663470/article/details/114231889
相关文章
- 01-22利用界面交互进行字符串逆序输出
- 01-221.打印菱形 2. 字符串逆序输出 3. 解释栈区存放原理 day (10)
- 01-22字符串逆序输出
- 01-22字符串逆序输出
- 01-22字符串逆序输出
- 01-22C++输入一个字符串,把其中的字符按照逆序输出的两种方法
- 01-22Java-map-第一题 (Map)利用Map,完成下面的功能: 从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。 附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录
- 01-22用不同的方法实现字符串的逆序输出(C语言实现)
- 01-22利用Xming 将Linux 图形界面输出到Windows上
- 01-22ios 开发之--逆序输出字符串