0

verifyPlate メソッドで、配列 Plates から特定の文字列 "platenum" を検索し、メイン メソッドにブール値を返すにはどうすればよいですか?

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;
}
4

2 に答える 2

4

必要なのは 1 行だけです。

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

プレートが配列ではなくリストの場合、asList の呼び出しは省略できます。一般に、配列は避けるべきです

于 2012-11-23T03:27:15.183 に答える
0

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;
}
于 2012-11-23T03:27:43.783 に答える