2015-01-25 3 views
-1

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

Вот мой код до сих пор:

import java.util.Scanner; 


public class Apples { 


    public static void main(String[] args) { 

     Scanner userInput = new Scanner(System.in); 
     String name = userInput.nextLine(); 

     int arrayLength = name.length(); 

     String ArrayName[] = new String [arrayLength]; 

     for(int counter = 0; counter < arrayLength; counter++){ 

      ArrayName[counter] = name.substring(counter); 


      System.out.println("Element No" + counter + ": " + name.substring(counter)); 

     } 



    } 
+1

Просто используйте 'userInput.toCharArray()'. –

+0

Используйте ['String.charAt'] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#charAt (int)) вместо' substring'. – manouti

+0

И в чем ваш вопрос? – Jens

ответ

0
public static void main(String[] args) { 

     Scanner userInput = new Scanner(System.in); 
     String name = userInput.nextLine(); 

     int arrayLength = name.length(); 

     String ArrayName[] = new String [arrayLength]; 
     char[] chars = name.toCharArray(); 

     for(int counter = 0; counter < arrayLength; counter++) { 
      ArrayName[counter] = chars[counter] + ""; 
      System.out.println("Element No" + counter + ": " + name.substring(counter)); 
     } 
    } 
+0

Благодарим вас за знакомство с массивом char ... поскольку я еще не нашел его, но ваш код по-прежнему не назначает отдельные символы элементу массива ... если я не ошибся –

+0

игнорировать мой последний комментарий ... вы были правы ... я не изменил свой syso, чтобы распечатать массив символов –

0

импорт java.util.Scanner;

Apples общественного класса {

public static void main(String[] args) { 

    Scanner userInput = new Scanner(System.in); 
    String name = userInput.nextLine(); 

    int arrayLength = name.length(); 
    int temp = 1; 
    String ArrayName[] = new String [arrayLength]; 

    for(int counter = 0; counter < arrayLength; counter++){ 

     ArrayName[counter] = name.substring(counter, name.length()-name.length()+temp);// HAD TO ADD THIS TO GET IT WORKING 
     temp++; 

System.out.println("Element No" + counter + ": " + ArrayName[counter]); 

    } 
0

Вы хотите использовать метод toCharArray() струны. Если этот метод вызывается на строку, он возвращает массив chars точно так, как вам нужно:

import java.util.Scanner; 

public class Apples { 

    public static void main(String[] args) { 

    Scanner userInput = new Scanner(System.in); 
    String name = userInput.nextLine(); 
    char[] nameArray = name.toCharArray(); 

    for(int counter = 0; counter < nameArray.length; counter++){ 
     System.out.println("Element No" + counter + ": " + nameArray[counter]); 
    } 
    } 
} 

Проверьте документацию, связанную, чтобы увидеть полное объяснение того, как он работает, а также другие методы, которые вы можете позвонить на объект String.

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