ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

利用界面交互进行字符串逆序输出

2021-02-28 19:57:45  阅读:178  来源: 互联网

标签:界面 String 交互进行 results System choose println public 逆序


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

标签:界面,String,交互进行,results,System,choose,println,public,逆序
来源: https://blog.csdn.net/qq_41663470/article/details/114238744

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有