2014-11-11 5 views
0

Я пытаюсь уменьшить ширину текста, а в строке 19 моего кода java возвращает ошибку, не может найти символ , Вот мой код до строки, содержащей ошибку:Я пытаюсь уменьшить ширину текста с помощью массивов в java, но java возвращает одну ошибку

public class FixedWidthPrinting{ 
    public static void print(String[] inputArray,int width){ 
    int wordCount,charCount,extraSpaces; 
    int currentIndex=0; 
    int[] spaceArray; 
    boolean even=false; 
    while(currentIndex<inputArray.length-1){ 
     wordCount=0; 
     charCount=inputArray[currentIndex].length(); 
     for(int i=currentIndex+1;charCount+inputArray[i].length()+1<=width;i++){ 
     charCount+=(inputArray[i].length()+1); 
     wordCount++; 
     } 
      if(wordCount==0){ 
      spaceArray=new int[1]; 
      }else{ 
      spaceArray=new int[wordCount]; 
      } 
     inputArray.fill(spaceArray,1); 

Ошибка:

FixedWidthPrinting.java:19: ошибка: не удается найти символ inputArray.fill (spaceArray, 1); ^ символ: метод заполнения (INT [], Int) местоположение: переменная inputArray типа String []

Вот остальная часть кода, я мог иметь ошибки в остальной части моего кода, который заставляя java возвращать эту ошибку?

extraSpaces=width-charCount; 
     if(even==false){ 
     for(int i=0;i<spaceArray.length&&extraSpaces>0;i++){ 
      spaceArray[i]++; 
      extraSpaces--; 
      } 
     even=true; 
     }else{ 
     for(int i=spaceArray.length-1;i>=0&&extraSpaces>0;i--){ 
     spaceArray[i]++; 
     extraSpaces--; 
     } 
     even=false; 
     } 
    System.out.print(inputArray[currentIndex]); 
    currentIndex++; 
    for(int i=0;wordCount>0;i++){ 
     for(int j=spaceArray[i];j>0;j--){ 
     System.out.print(" "); 
     } 
    System.out.print(inputArray[currentIndex]); 
    wordCount--; 
    currentIndex++; 
    } 
    System.out.println(); 
    } 
    } 
} 
+0

Ну 'inputArray', является массивом, а не' ArrayList' – kolossus

+0

Так есть ли другая команда, которую я могу использовать вместо inputArray.fill? Я прошу прощения, если это глупый вопрос, я сейчас совсем потерялся с массивами. –

ответ

0

Я думает, что вы хотите использовать метод fill из java.util.Arrays

Делают это так:

Arrays.fill(spaceArray,1); 
+0

Я заменил inputArray.fill на Arrays.fill, и java вернул ту же ошибку FixedWidthPrinting.java:19: error: не может найти символ Arrays.fill (spaceArray, 1); ^ символ: переменная Массивы местоположение: класс FixedWidthPrinting 1 ошибка –

+0

Вы должны 'импорт java.util.Arrays' – ToYonos

+0

После этого, ошибка изменен: основной метод не найден в классе FixedWidthPrinting –