2014-12-08 4 views
-2

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

Единственный код, у меня есть это:

import java.util.*; 

class FilterTest{ 

    public static void main (String[] args){ 
     Scanner scan = new Scanner (System.in); 
     //String[] inputMessage = new String(); I don't know how to do the length here. 
     input.nextString(); 
     inputMessage=input.nextString; 
    } 
} 
+0

Почему бы не использовать «Список»? – Sybren

+0

Как уже сказал Sybren, просто используйте ArrayList , Vextor или что-нибудь еще, позволяющее вам динамическую длину. – Phiwa

+0

Я понятия не имею, что это, я очень зеленый. Я предполагаю, что это именно то, о чем я говорю? – cnbr15

ответ

1

Вот пример с ArrayList.

public static void main(String[] args) { 
    ArrayList<String> inputMessage = new ArrayList<String>(); 

    Scanner sc = new Scanner(System.in); 
    while (true) { 
     inputMessage.add(sc.next()); 
    } 
} 
+0

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

+0

Массив имеет фиксированный размер, а список имеет динамическую длину, как уже говорила Пхива, пожалуйста, отметьте мой ответ как принятый, если он вам поможет. – Sybren

+0

Im на таймер, чтобы принять его, но я как только смогу, я не хочу тратить время никого – cnbr15

0
import java.util.* 
class FilterTest{ 
    public static void main (String[] args){ 
     Scanner scan = new Scanner (System.in); 
     Vector<String> all=new Vector<String>(); 
     while(true){ 
      String in=scan.nextString(); 
      if(in.length()==0){ 
       break; 
      } 
      all.add(in); 
     } 

     String array[]=all.toArray(new String[all.size()]); 
     // here you go 
    } 
} 
+0

Даже если это возможно, было бы разумнее использовать ArrayList или вектор INSTEAD строки [], а не как дополнение. :) – Phiwa

+0

Я получаю ошибку «вход не может быть разрешен», компилируя это, я предполагаю, что мне нужно что-то сделать или я его сломал? Спасибо за ответ, хотя, глядя на это имеет смысл, кроме Vector, о котором я не знаю. – cnbr15

+0

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

0

В приведенном ниже коде хранятся все введенные в ArrayList строки ввода типа, пока вход не будет «завершен».

import java.util.*; 

class FilterTest{ 

    public static void main (String[] args){ 

     Scanner scan = new Scanner (System.in); 

     ArrayList<String> full= new ArrayList<String>(); 

     // We use a do-while loop to be able to check the condition of the loop AFTER each round 
     // since we want to check if the user typed 'quit' AFTER he typed it. 
     do { 
      // Read input 
      String input = input.nextString(); 

      // Add it to the ArrayList 
      full.add(input); 
     } 
     while(!input.equals("quit")); // Cancel as soon as the user types "quit" 

     for(String inputString: full) { 
      // Do whatever you want to do with each input 
     } 

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