我必须制作一个将数字转换为字母并在文本文件中搜索匹配行的程序。例如,如果用户按下2,程序将搜索以A,B或C开头的所有行并进行打印。如果用户写247,它将搜索以A,B或C开头,下一个字母为G,H或I等的行。
我已将字母放入数组中,而键盘编号=数组索引:
String[] letter = {"", "", "ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ"};
我只是不知道如何继续。在过去的5个小时中,我尝试了几种代码,但是我无法使它们起作用。我也正在使用扫描仪读取文件。
也对英语不好和编程技巧不好感到抱歉。我只是一个初学者。
这是我尝试过的方法,但是根本没有用:
package fxOnkia;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Testi {
public static void main(String[] args)
{
String input = "266";
List<String> words = new ArrayList<String>();
String[] numbers = input.split("(?!^)"); // {7, 8, 7}
int[] array = Arrays.asList(numbers).stream().mapToInt(Integer::parseInt).toArray();
String[] letters = {"", "", "ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ"};
for (int i = 0; i<numbers.length; i++)
{
String[] right = {letters[array[i]]};
words.add(right[0]);
}
String word = "Computer";
for (int i = 0; i < words.size(); i++)
{
if (!words.get(i).contains(Character.toString(word.charAt(i))) )
{
break; // (1, 1, 1)
}
System.out.println("word");
}
}
}