配置文件恢复

我自己写的:但是不知道什么问题 拿不到 满分 总是 测试错误 ,请看到的大神 指点下

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

// 要是能用Scala 就简单多了呀
public class PeiZhiWenJianHuiFu {
	private static Map<Integer,String>  comm = new HashMap<Integer,String>();
	private static void init(){
		comm.put(1,"reset board&board fault");
		comm.put(2,"board add&where to add");
		comm.put(3,"board delete&no board at all");
		comm.put(4,"reboot backplane&impossible");
		comm.put(5,"backplane abort&install first");
	}

	public static void main(String[] args){
		// TODO Auto-generated method stub
		init();
		Scanner sc = new Scanner(System.in);
		List<String> list = new ArrayList<String>();
		String s = "";
		while(sc.hasNextLine()){
			s = sc.nextLine();
			if(s.equals(""))
				break;
			list.add(s);
		}

		for(String li:list){
			//System.out.println(li);
			if(li.contains(" ")){
				match_2(li);
			}
			else{
				match_1(li);
			}
		}

	}

	private static void match_2(String string){
		 String [] s = string.split(" ");
		 int count = 0;
		 String res = "";
		 if(s.length != 2){
			 System.out.println("unkonw command");
		 }

		 for(int i=1; i<=comm.size();i++){
			 //System.out.println(comm.get(i));
			 String[] tmp = comm.get(i).split("&"); //
			 String[] tmp1 = tmp[0].split(" ");
			 if(s[0].length()>tmp1[0].length() || s[1].length()>tmp1[1].length()){
				continue;
			 }
 			 if(s[0].equals(tmp1[0].substring(0, s[0].length())) && s[1].equals(tmp1[1].substring(0, s[1].length()))){
				 count++;
				 res = tmp[1];
			 }
		 }

		 if(count == 1){
			 count = 0;
			 System.out.println(res);
		 }else{
			 count = 0;
			 System.out.println("unkonw command");
		 }

	}

	private static void match_1(String string) {
		int len=string.length();
		if(string.equals("reset".substring(0, len)))
			System.out.println("reset what");
		else
			System.out.println("unkonw command");
	}

}

在网上找了一份代码,却是可以满分:无语了

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class test14 {
	public static void main(String[] arg0){
		Scanner sc = new Scanner(System.in);
		List<String> list = new ArrayList<String>();
		String str = "";
		while(sc.hasNextLine()){
			str = sc.nextLine();
			if(str.equals(""))break;
			list.add(str);
		}
		for(int i = 0; i < list.size(); i++){
			System.out.println(execute(list.get(i).split(" ")));
		}
	}
	static String[] commands = {"reset","reset board","board add","board delet","reboot backplane","backplane abort"};
	static String[] result = {"reset what","board fault","where to add","no board at all","impossible","install first"};
	public static String execute(String[] str){
		String re = "";
		if(str.length == 1){
			if(commands[0].startsWith(str[0])) re = result[0];
			else{
				for(int i = 1; i < commands.length; i++){
					if(commands[i].startsWith(str[0])) {
						re = "unkown command";
						break;
					}
				}
				if(re.equals("")) re = "unkown command";
			}
		}else if(str.length == 2){
			int hasfit = 0;
			int index = -1;
			for(int i = 1; i < commands.length; i++){
				String[] comm = commands[i].split(" ");
				if(comm[0].startsWith(str[0]) && comm[1].startsWith(str[1])){
					index = i;
					hasfit ++;
				}
			}
			if(hasfit == 1) re = result[index];
			else re = "unkown command";
		}else{
			re = "unkown command";
		}
		return re;
	}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-12 01:53:51

配置文件恢复的相关文章

误删/root/下配置文件恢复方法

默认情况下/root/用户下有如下配置文件: [[email protected] ~]# ls -a .  ..  .bash_history  .bash_logout  .bash_profile  .bashrc 如果误删除.bash_history .bash_logout .bash_profile .bashrc等配置文件的话, [[email protected] ~]# rm -rf \.b* [[email protected] ~]# ls -a .  .. [[email

华为OJ西研所训练题——配置文件恢复(欢迎讨论)

描述:  有6条配置命令,它们执行的结果分别是: 命   令 执   行 reset reset what reset board board fault board add where to add board delet no board at all reboot backplane impossible backplane abort install first he he unkown command 注意:he he不是命令. 为了简化输入,方便用户,以"最短唯一匹配原则"

[原]Greenplum failed segment的恢复方法

当在使用greenplum过程中有不当的操作时,可能会出现segment节点宕掉的情况(比如在greenplum运行的过程中停掉其中几台segment节点的服务器),通过下面的方法可以恢复segment. 下面是现场出现的故障情况: [[email protected] ~]$ gpstate -m 20161010:16:35:54:026100 gpstate:tj-soc-c04-csfb1:gpadmin-[INFO]:-Starting gpstate with args: -m 20

galera mariadb集群恢复策略

1 galera mariadb首先MariaDB是一个数据库,可以看成是MySQL的一个分支,由于MySQL被SUN收购,所以MySQL面临着闭源的风险,当时MySQL之父Widenius并没有加入SUN,而是基于MySQL的代码开发新的分支,命名为MariaDB,并全部开源. Galera是Galera Cluster,是一种为数据库设计的新型的.数据不共享的.高度冗余的高可用方案,galera mariadb就是集成了Galera插件的MariaDB集群,Galera本身是具有多主特性的,

详述CentOS 7中GRUB菜单恢复与忘记root密码后如何重置

GRUB菜单介绍 对于Linux操作系统来说,GRUB(GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系统引导器程序.系统控制权传递给 GRUB 以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载 Linux内核文件,然后将系统控制权转交给内核.需要注意的是,CentOS 7采用的是GRUB2启动引导器. GRUB菜单恢复方法 GRUB是大多数Linux操作系统默认使用的引导程序,可以通过启动菜单的方式选择进入不同的操作系统(如果有).当配置

H3C S5024P交换机 H3C AR28-31路由器命令

H3C S5024P交换机 H3C AR28-31路由器命令 交换机命令 各个视图的切换: 注意命令要在相应的视图下执行 在用户视图下键入quit命令可以断开与交换机的连接.在其它视图中键入quit命令可以退回到前一级视图,键入return命令或使用快捷键<Ctrl+Z>可以直接退回到用户视图. <Quidway> sys进入系统视图 注意在不同的视图下能找到的命令是不同的,一定要进入正确的视图 交换机的用户 网络设备上有三种用户接口,VTY用户是指通过TELNET接入的用户,VT

SVN目录权限设置

---恢复内容开始--- 如图,这里我建的项目库为myRepositories,其下边又有许多文件,现在要分别对每个文件进行svn权限配置. 配置 进入上面生成的文件夹conf下,进行配置.有以下几个文件authz, passwd,svnserve.conf.其中authz 是权限控制文件,可以设置哪些用户可以访问哪些目录,passwd是设置用户和密码的文件,svnserve.conf是配置文件 ---恢复内容结束---

jenkins配置角色访问

本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理. 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,本文将使用Role Strategy Plugin,介绍页面:https://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin 一.配置插件 安装插件后,进入系统设置页面,配置如下: 官网上安全域设置为Servlet容器代理,实际操作发现Jenkins专有用户数

Redhat网络配置之——DHCP获取动态ip连网

由于经常在虚拟机中做各种网络实验,修改了网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,后来就再也连不了网络(建议修改该文件时最好备份一份),现在需要将ifcfg-eth0配置文件恢复到刚装虚拟机时的状态,刚装完虚拟机时系统自动分配了HWADDR(硬件地址)和UUID(通用唯一识别码). 第一步查看网卡的硬件地址(HWADDR),使用ifconfig命令查看网卡信息如图所示 第二步查看网卡的UUID,如图所示: 使用命令 nmcli con | s