2013-12-05 3 views
0

Я хочу напечатать все эти массивы, должно быть 100 слов и количество слов на каждое слово, сколько раз оно использовалось. Как я могу напечатать весь StringArray и весь IntArray?Как распечатать все эти массивы?

package program6; 

import java.util.Scanner; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.util.Arrays; 

public class Program6 { 

static String[] stringArray = new String[100]; 
static int[] intArray = new int[100]; 
static String fileName = "myths.txt"; 

public static void main(String[] args) throws FileNotFoundException { 
    Scanner input = new Scanner(new File(fileName)); 


    do { 
     String word = input.next(); 
     for (int i = 0; i < 100; i++) { 

      stringArray[i] = word; 
      if (word.equals(stringArray[i])) { 
       intArray[i] += 1; 

      } 
     } 

    } while (input.hasNext()); 

    System.out.println("Myths of Babylonia and Assyria"); 
    System.out.println(Arrays.toString(stringArray) + Arrays.toString(intArray)); 






} 
} 
+0

Вы изменили свой вопрос вокруг справедливый бит. Если у вас есть отдельный вопрос, который вы хотите задать, не стесняйтесь спрашивать об этом, но не меняйте существующий вопрос, или вы рискуете аннулировать существующие ответы. – Makoto

+0

в стороне от печати ваш код не будет работать, поскольку вы всегда назначаете слово новому индексу, а затем увеличиваете количество слов на единицу, но никогда не переоцениваете эти значения. Может быть, массив - неправильный способ пойти сюда (используйте 'List' и его метод' .indexOf() ') –

ответ

2

Использование Arrays.toString():

System.out.println(Arrays.toString(StringArray)); 
System.out.println(Arrays.toString(IntArray)); 

Также обратите внимание, что Конвенция предусматривает, что переменные являются верблюдом-обсаженным и что классы начинаются с заглавной буквой. Далее следует отметить, что использование скобок необходимо только при индексировании в массив или объявлении начального размера массива.

+0

А, спасибо большое, по какой-то причине его просто печатают тонны нулей и 0, почему бы быть? – Tonno22

+0

Это печатает содержимое массива. Вы получаете нуль и ноль, если массив содержит это. Что-то не добавляется в массив; Я оставляю вас, чтобы понять это. – Makoto

1

Вместо

System.out.println(StringArray[]) + (IntArray[]); 

Вы должны перебирать свои массивы, возможно, как это -

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

Есть ли причина, почему он будет печатать нуль и 0? – Tonno22

+0

Вы ничего не храните по этим индексам. –

+0

Подождите, что? Я думал, что мой цикл while хранит первые 100 слов из моего текстового файла в массив. – Tonno22

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