簡體   English   中英

在數組中搜索某個字符串

[英]Search through an array for a certain String

在verifyPlate方法中,如何在Plates數組中搜索某個字符串“ platenum”,然后將布爾值返回給main方法?

import java.util.Scanner;
import java.util.Date;
import java.io.*;

public static boolean verifyPlate(String[] plates, int numCars, Scanner keyboard)
  {
    Scanner s = new Scanner(System.in);

    System.out.print("Enter your plate number: ");
    String platenum = s.nextLine();

    boolean real=false;

    for (int i=0;i!=plates.length;i++)
    {
       boolean platers = platenum.equals(plates[i]); 

       if(platers)
       {
           System.out.println("Your vehicle is registered");
        }
       else
        System.out.println("Your vehicle is not registered");

     platers=real;
    }

    return real;
}

您只需要1行:

return Arrays.asList(plates).contains(platenum);

如果板是列表而不是數組,則可以省略對asList的調用。 通常,應避免使用數組

您的方法行不通,因為可以在循環的下一次迭代之后重置real變量。 嘗試以下方法:

public static boolean verifyPlate(String [] plates, int numCars,
                                                  Scanner keyboard) {
    Scanner s = new Scanner(System.in);

    System.out.print("Enter your plate number: ");
    String platenum = s.nextLine();

    for (int i=0;i!=plates.length;i++){
        boolean platers = platenum.equals(plates[i]); 

       if(platers) {
       System.out.println("Your vehicle is registered");   
       return true;
       }

    }
    System.out.println("Your vehicle is not registered");
    return false;
}

暫無
暫無

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

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