簡體   English   中英

無法在原始類型int上調用equals(String)

[英]Cannot invoke equals(String) on the primitive type int

我有一個包含航班號的文本文件,我的目標是讓此方法搜索該文本文件,並打印出所有帶有“航班號”的行。

public static void print_flight(int rcount,int[]reservation_code,int[]fl_number,String[]last_name,String[]first_name,String[]seat_type,double[]seat_cost)
{
     int i, total=0;

     String search_flight = "";
     String output = "Enter the Flight Number you are searching for";
     search_flight = JOptionPane.showInputDialog(null,
                                               output, " ",
                                               JOptionPane.QUESTION_MESSAGE);

     for (i = 0; i <=rcount; ++i) {
        //CHECK flight number

          if(fl_number[i].equals(search_flight))//ERROR IS HERE
             {
                 total+=fl_number[i]; //not sure if that is right
                 System.out.println(reservation_code[i]+" "+fl_number[i]+" "+last_name[i]+" "+first_name[i]+" "+seat_type[i]+" "+seat_cost[i]);
             }

     }
}

使用Integer.parseInt將其轉換為int值,然后使用==比較兩個int值

          int flight_number = Integer.parseInt(search_flight); //convert to int
          if(fl_number[i] == flight_number)//compare two ints

通常沒有針對航班號執行的算術運算,因此應為String數組。

fl_number是一個int數組,而search_flight是一個String,您應該將其解析為int以使用fl_number

因此,fl_number [i] .equals(search_flight)

-> fl_number [i] == Integer.Parse(search_flight)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM