2013-12-18 4 views
-2

Я выполнил простое назначение строки с использованием ArrayList. Теперь мне нужно попросить пользователя ввести параметр, а затем обработать строку (удалить гласные, сделать все в нижнем регистре и т. Д.). Сначала я жестко закодировал строку, чтобы убедиться, что все работает, но теперь пользователь должен сказать программе, какую строку обрабатывать (пользователь написал бы это: java StringProcessing input.txt). Я попытался написать код для параметра, но я получаю сообщения об ошибках.Как использовать параметры в java

здесь ошибка:

StringProcessing.java:9: error: illegal start of type 
} catch (Exception e) { 
^
StringProcessing.java:14: error: <identifier> expected 
    input.add(printStackTrace); 
      ^
StringProcessing.java:14: error: <identifier> expected 
    input.add(printStackTrace); 

код ниже:

import java.util.ArrayList; 

    public class StringProcessing { 


    public static void main (String [] args) { 

      Scanner s = new Scanner(new File(args[0])); 
      } catch (Exception e) { 
      e.printStackTrace(); 
      } 

      ArrayList<String> input = new ArrayList<String>(); 
      input.add(printStackTrace); 

    //  input.add("ahHhdafsAhsopeifnlAshash339SNnadfnoaAhasdfhash3aash33hhnllashppeHhd3PPDDkashnbn4ijashonethelightalhnZZndaeJ"); 


      int index=0; 
      int numberOfTimes=0; 


       System.out.print(input.get(0).substring((input.get(0).length()/2),((input.get(0).length()+2)/2))); 

      System.out.println("\n"); 

      for (int i=0; i<input.get(0).length(); i+=index) { 
        index = input.get(0).indexOf("ash"); 
        if (index!=-1){ 
          numberOfTimes+=1; 
        } else { 
         break; 
       } 
      } 

    System.out.print(numberOfTimes); 
    System.out.println("\n"); 


    String vowel = input.get(0); 
    vowel = vowel.replace("a",""); 

    vowel = vowel.replace("e",""); 

    vowel = vowel.replace("i",""); 

    vowel = vowel.replace("o",""); 

    vowel = vowel.replace("u",""); 

    input.add(vowel); 




    String lower = input.get(0).toLowerCase(); 

    System.out.print(lower); 
    System.out.print(input.get(1)); 


    } 


    } 
+2

сообщения, что ошибка? –

+1

у вас есть блок catch в верхней части вашего основного метода, но нет блока try. – turbo

+1

Что вы думаете 'input.add (printStackTrace);' делает? – pamphlet

ответ

1

Вы, вероятно, случайно удалили что-то в какой-то момент прямо под вашим методом main

try { // missing 
    Scanner s = new Scanner(new File(args[0])); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

Обратите внимание, что это касается только ошибки компиляции. Вы по-прежнему будете иметь другие проблемы, связанные с фактическим получением ввода пользователем. Вы успешно открываете файл (используя параметры, например: 'args [0]'), но вам нужно будет прочитать файл и добавить содержимое файла в список массивов 'input'. – MxyL

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