BUPT JAVA: 命令补全

命令补全

题目描述:

在Linux命令行下, 输入字符后, 按两次Tab键, shell就会列出以这些字符打头的所有可用命令. 如果只有一个命令匹配到, 按一次Tab键就自动将这个命令补全.
比如, 想更改密码, 但只记得这个命令前几个字母是pass. 这时候, 按Tab键, shell就自动输出 passwd 命令, 非常方便. 现在就请你写一段程序实现类似功能.

输入:

第一行为一个整数 $ n( 1 < n < 100) $, 代表共 nn 条命令;
后边为 nn 行字符串 (长度均不超过50且只包含小写字母), 代表这 nn 条命令;
n+2n + 2 行为一个字符串 (长度均不超过50且只包含小写字母), 为测试字符串;

输出:

若干行, 为 nn 条命令中所有以测试字符串开头的命令, 每个命令占一行, 按字典序依次输出. 测试数据保证至少会有一条命令被输出.

输入样例:

1
2
3
4
5
6
7
8
6
ls
cd
cp
rm
mv
diff
c

输出样例:

1
2
cd
cp

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 命令补全
// 2023/04/03

import java.util.Arrays;
import java.util.Scanner;

public class Main {
public static void main(String[] argc) {
var input = new Scanner(System.in);
var n = input.nextInt();
var order = new String[n];
for (int i = 0; i < n; i++)
order[i] = input.next();

Arrays.sort(order);
var testOrder = input.next();

for (int i = 0; i < n; i++)
if (order[i].indexOf(testOrder) == 0)
System.out.println(order[i]);
}
}
2023-04-03 
IP属地: 北京

BUPT JAVA: 命令补全
https://dengwuli.github.io/2023/04/03/BUPT_JAVA/命令补全/
作者
DengWuLi
发布于
2023年4月3日
更新于
2023年7月14日
许可协议