2014-09-05 5 views
1

Итак, у меня есть этот код, и я хочу, чтобы сканер читал из файла, и я хочу, чтобы второй массив увеличивался каждый раз, когда слово повторяется из первого массива ... но оно беспорядочно для первой категории .... любые идеи?параллельные массивы, прочитанные из текстового файла

Scanner sc=new Scanner(new File("Categories.txt")); 
    String category=sc.nextLine(); 
    int catnum=sc.nextInt(); 
    int count[]=new int[catnum]; 
    ArrayList<String>anim=new ArrayList<String>(); 
    while(sc.hasNextLine()) 
    { 
     String temp=sc.nextLine(); 
     anim.add(temp); 
    } 

    Collections.sort(anim); 
    System.out.println(anim); 

    for(int i=0;i<count.length;i++) 
    { 
     String x=anim.get(0); 
     for(int j=0;j<anim.size();j++) 
     { 
      if(anim.get(j).equals(x)) 
      { 
       count[i]++; 
       anim.remove(j--); 
      } 

     } 
    } 
    for(int i=0;i<count.length;i++) 
    { 
     System.out.println(count[i]); 
    } 

ответ

0

count.size() возвращает 0 в первый раз, так как вы никогда не добавил ничего к нему, так что вы никогда не войти в петлю. Вместо этого используйте scategories.size().

+0

Я действительно изменил его ... можете ли вы взглянуть на него сейчас, пожалуйста? – user3196301

+0

Вы полностью изменили код ... Неясно, чего вы пытаетесь достичь. – Dici

Смежные вопросы