CSU1100:一二三
Description
你弟弟刚刚学会写英语的一(one)、二(two)和三(three)。他在纸上写了好些一二三,可惜有些字母写错了。已知每个单词最多有一个字母写错了(单词长度肯定不会错),你能认出他写的啥吗?
Input
第一行为单词的个数(不超过10)。以下每行为一个单词,单词长度正确,且最多有一个字母写错。所有字母都是小写的。
Output
对于每组测试数据,输出一行,即该单词的阿拉伯数字。输入保证只有一种理解方式。
Sample Input
3
owe
too
theee
Sample Output
1
2
3
主要是用到了正则表达式
import java.util.Scanner;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int n = in.nextInt();
for(int i=0;i<n;i++)
{
String input = in.next();
if(Pattern.matches("\\wne", input)
||Pattern.matches("o\\we", input)
||Pattern.matches("on\\w", input))
System.out.println(1);
else if(Pattern.matches("\\wwo", input)
||Pattern.matches("t\\wo", input)
||Pattern.matches("tw\\w", input))
System.out.println(2);
else if(Pattern.matches("\\whree", input)
||Pattern.matches("t\\wree", input)
||Pattern.matches("th\\wee", input)
||Pattern.matches("thr\\we", input)
||Pattern.matches("thre\\w", input))
System.out.println(3);
}
in.close();
}
}