【发布时间】:2015-06-14 08:26:57
【问题描述】:
我坚持做这个练习,我必须匹配用户的输入和 txt 文件中的单词,并且匹配必须显示整行,但我不知道该怎么做,我有代码但我不确定它是否正确
//codes01.dat
IXE, Mangalore, India
BOM, Mumbai, India
PPP, Proserpine Queensland, Australia
RKT, Ras Al Khaimah, United Arab Emirates
输入:ProseRPine
输出:PPP,澳大利亚昆士兰 Proserpine
import java.io.*;
import java.util.*;
public class pruebas
{
public static void main(String[] args) throws java.io.IOException
{
System.out.print(" enter airport name");
Scanner keyboard = new Scanner(System.in);
String input = keyboard.nextLine();
BufferedReader br = new BufferedReader(new FileReader("codes01.dat"));
String s1;
String s2;
String strline;
while (strline = br.readLine())
{
s1 = br.readLine();
int numTokens = 0;
StringTokenizer st = new StringTokenizer(s1);
while (st.hasMoreTokens()) {
s2 = st.nextToken();
++numTokens;
if (s2.equalsIgnoreCase(input)) {
System.out.pritn(s1);
} else {
System.out.print(" no data found ");
}
}
}
}
}
【问题讨论】:
-
请格式化代码
-
解决编译器错误。发布的代码不会编译。
-
两个 br.readLine()。不会是正确的。
-
不需要指定分隔符吗?
-
您的 while 循环应该比较一个布尔值,但它正在为字符串分配一个布尔值。有两个错误(除了其他可能的逻辑错误)1.)您需要在 while 中提供一个布尔值,例如 while (br.readLine()) 2.) System.out.pritn(s1) 应该是 System.out.println(s1)
标签: java string class if-statement while-loop