首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让我的扫描仪跳过"ADD_Airport“字符串?

如何让我的扫描仪跳过"ADD_Airport“字符串?
EN

Stack Overflow用户
提问于 2021-03-11 18:56:19
回答 1查看 64关注 0票数 0

我正在从一个文件中读取它们,并且需要将信息存储在数组中,以便将它们打印到另一个文件中。一个用于由三个字母组成的代码,一个用于城市名称,另一个用于结尾的字母。我遇到的问题是,当我想读取它们时,扫描器会在第二行和第三行添加"ADD_Airport“字符串。在main方法中,我有它,如果(command.equals(“ADD_Airport”)),它将激活该方法。第一行可以按我希望的那样工作,但其余行不能。谢谢

附注:有人知道我可以在哪里练习或找到类似的例子吗?谢谢。

这是输入文件

6 9

ADD_Airline服务Saudia saudia.com

添加-_Airline EK阿联酋UE emirates.com

ADD_Airline NS NasAir SA flynas.com

ADD_Airline BA BritishAirways UK britishairways.com

ADD_Airline KL荷兰NL klm.com

ADD_Airline GF GulfAir BH gulfair.com

ADD_Airport JED Jeddah KAIA

ADD_Airport MED Madina PMIA

ADD_Airport DXB迪拜DIA

ADD_Airport BAH BAH BIA BIA

开罗中情局ADD_Airport CAI

ADD_Airport LHR伦敦硬件

ADD_Airport阿姆斯特丹自动取款机

ADD_Airport KRT喀土穆克钦独立军

雅加达ADD_Airport CGK SIA

//我的代码

代码语言:javascript
复制
public static void main(String[] args) throws FileNotFoundException {

    // input files
    File inputD = new File("inputDB.txt");

    File inputB = new File("inputBookings.txt");

    Scanner sc = new Scanner(inputD);
    // print writer
    PrintWriter out = new PrintWriter("printLog.txt");

    // inputDB arrays
    // airline info
    String[] airlines = new String[sc.nextInt()];
    String[] codes = new String[airlines.length];
    String[] country = new String[airlines.length];
    String[] website = new String[airlines.length];

    // airport info
    String[] airports = new String[sc.nextInt()];
    String[] threeLetter = new String[airports.length];
    String[] city = new String[airports.length];

    String[] flights = new String[sc.nextInt()];

    String command = null;

    out.println("--------------- Air Ticket Reservation System Log ---------------\n");
    do {
        command = sc.next();
        if (command.equalsIgnoreCase("ADD_airline")) {
            add_airline(airlines, sc, out, codes, country, website)
public static void add_airline(String[] airlines, Scanner sc, PrintWriter out, String[] codes, String[] country,
        String[] website) {

    for (int i = 0; i < airlines.length; i++) {

        

        codes[i] = sc.next();
        airlines[i] = sc.next();
        country[i] = sc.next();
        website[i] = sc.next();

        out.println("(New Airline Added) " + "Airline No.: " + codes[i] + " Airline: " + airlines[i] + " Hub: "
                + country[i] + " URL: " + website[i]);
        out.println("-------------------\n");
        
    }

}

它应该看起来像这样:

(新增航空公司)航空公司编号: SV航空公司: Saudia集线器:Saudia: saudia.com

(新增航空公司)航空公司编号: EK航空公司:阿联酋航空枢纽: UE网址: emirates.com

(新增航空公司)航空公司编号: NS航空公司: NasAir枢纽: SA URL: flynas.com

(新增航空公司)航空公司编号: BA航空公司: BritishAirways枢纽:英国网址: britishairways.com

(新增航空公司)航空公司编号: KL航空公司:荷兰枢纽: NL网址: klm.com

(新增航空公司)航空公司编号: GF航空公司: GulfAir枢纽: BH网址: gulfair.com

EN

回答 1

Stack Overflow用户

发布于 2021-03-11 20:10:02

我相信你的代码应该是这样的:

代码语言:javascript
复制
for each line from inputFile:
   split (by ' ') that line into array of parts
   if part 0 == 'ADD_Airline' then
      call `addAirline` method and pass parts 1,2,3,4 to it as parameters
   else if part 0 == 'ADD_Airport' then
      call `addAirport` method and pass parts 1,2,3 to it as parameters
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66581135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档