11

配列内の各文字列または int を別の配列と比較してから、文字列が他の配列に存在するかどうかに応じて結果を出力しようとしています: 以下はコード全体です: を使用して 2 つの値を比較しようとすると、for ループでエラーが発生します. equals (正しい方法かどうかわからない、、... 私はこれが初めてです) 助けてください!

public class comparer {
public void compare (){

    ArrayList NameofFileinDir = new ArrayList ();
    ArrayList Stocks = new ArrayList();
    // populate array with files names in dir
    try {   
        Scanner reads = new Scanner (new File("G:/Programming/StockDataDownload/NameOfFileinDir.txt"));
        String FileCode;
        while (reads.hasNext()){  
               FileCode = reads.nextLine(); //read next line
                               NameofFileinDir.add(FileCode);

        }
        reads.close();
        }
        catch (IOException e) { 
        }
    // populate array with original stocks
    try {   
        Scanner reads = new Scanner (new File("G:/Programming/StockDataDownload/AllSecurities.txt"));
        String StockCode;
        while (reads.hasNext()){  
               StockCode = reads.nextLine(); //read next line
               Stocks.add(StockCode);

        }
        reads.close();
         for(int i = 0; i < Stocks.size(); i++) {

             for (int j = 0; j < NameofFileinDir.size(); j++) {
                    if (Stocks[i].equals(NameofFileinDir[j])) > 0) {
                        System.out.println("Stock:" + Stocks[i]);}
                    else{
                        System.out.println("Stock not in files:" + Stocks[i]);
                    }
                    }
             }

        }
        catch (IOException e) { 
        }

}}
4

7 に答える 7

0

あなたのエラーはここにあります:

if (Stocks[i].equals(NameofFileinDir[j])) > 0) {

まず、Stocks.get(i).equals(NameofFileinDir.get(j) 関数equalsはブール値を返すので、weather を比較しますtrue/false > 0。あなたはちょうどドロップすることができます> 0)

于 2013-09-15T15:51:02.580 に答える
0

arrays のような演算子を使用してArrayListオブジェクトを取得することはできません。オブジェクトを取得するには onメソッドを使用します。というわけでコードを変更 []get()ArrayList

 if (Stocks[i].equals(NameofFileinDir[j])) > 0) {  

  if (Stocks[i].equals(NameofFileinDir.get([j]))) > 0) {
于 2013-09-15T15:49:48.013 に答える