如何从用户输入填充字符数组?

时间:2012-12-14 12:10:38

标签: java arrays char

我搜索了很多,没有发现任何东西! 有人可以帮助我填写用户输入的一系列字符吗?

8 个答案:

答案 0 :(得分:6)

  

我搜索了很多,没有发现任何东西!有人可以帮助我   请填写用户输入的字符数组吗?

我的谷歌说,试试这个......

选项1:

    import java.io.*;
   class array {

    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String tmp = br.readLine();
        int length = tmp.length();
        char c[] = new char[length];
        tmp.getChars(0, length, c, 0);
        CharArrayReader input1 = new CharArrayReader(c);
        int i;
        System.out.print("input1 is:");
        while ((i = input1.read()) != -1) {
            System.out.print((char) i);
        }

    }
}

选项2:

class array
{
    public static void main(String args[])
    {
        Scanner sc=new Scanner(System.in);
        System.out.println("Please enter elements...");
        char[] a=sc.next().toCharArray();
        System.out.println("Array elements are : ");
        for (int i=0;i<a.length;i++)
            System.out.println(a[i]);
    }
}

但是,在这种情况下,它不会在空格字符后接受。

以前,用Java开始编码,你必须知道这些术语:

BufferedReader

Exception handling

答案 1 :(得分:1)

//更有趣...............

public class test3 {

    public static void main(String args[])
    {
        char crr[]=new char[100];
        Scanner inputs=new Scanner(System.in);
        System.out.println("enter the string");
        for(int i=0;i<10;i++)
        {
            char c=inputs.next().charAt(0);
            crr[i]= c;
        }
        for(int i=0;i<10;i++)
        {
            System.out.println(" " +crr[i]);
        }
    }
}

答案 2 :(得分:0)

如果您希望能够阅读单词并将其拆分为可以使用的字符数组。

char[] chars = scanner.next().toCharArray();

答案 3 :(得分:0)

   /* program below takes an string from user, splits into character and display as array of characters. */  

     package com.demo.mum;

        import java.io.BufferedReader;
        import java.io.IOException;
        import java.io.InputStreamReader;

        /**
         * @author cyruses
         * 
         */

        public class CharacterArray {

            public static void main(String args[]) throws IOException {
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                System.out.println("Enter the string:");
                String tmp = br.readLine();
                int strLen = tmp.length();
                char c[] = new char[strLen];
                for (int i = 0; i < c.length; i++) {
                    c[i] = tmp.charAt(i);
                }
                System.out.println("Displaying character Array");
                for (int i = 0; i < c.length; i++) {
                    System.out.println(c[i]);
                }
        }

答案 4 :(得分:0)

此代码是我的线性搜索程序的一部分,我修复了我面临的问题。但是我想要解释为什么我在charAt(x)上获得异常而不是charAt(0)。

        System.out.println("Enter Your Data in character");
        for(x=0;x<char_array.length;x++)
        {
        Scanner input_list_char = new Scanner(System.in);
        char_array[x]=input_list_char.next().charAt(0); //it works
        char_array[x]=input_list_char.next().charAt(x); // give me exception

}

答案 5 :(得分:0)

从用户输入字符数组

import java.io.*;
class CharArrayInput {

public static void main(String args[]) throws IOException {

    /*using InputReader and BufferedReader class 
      to fill array of characters from user input.
    */
    InputStreamReader ir = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(ir);
    //Take size of array from user.
    System.out.println("Please enter size of array")
    int n = Integer.parseInt(br.readLine());
    //Declare a character array
    char arr[] = new char[n];
    //loop to take input of array elements
    for(int i=0; i < n; i++){
    arr[i] = (char)br.read();
    }   

   }
  }

答案 6 :(得分:0)

您不能使用nextChar()直接在charArray中接受输入,因为Java中没有nextChar()。您首先必须在String中输入内容,然后一个个地获取字符。

import java.util.*;
class CharArray{
    public static void main(String[] args)
    { 
    Scanner scan=new Scanner(System.in); 

    char ch[]=new char[11];

    String s = scan.nextLine();

    for(int i=0;i<=10;i++)  
    ch[i]=s.charAt(i);  //Input in CharArray

    System.out.println("Output of CharArray: ");
        for(int i=0;i<=10;i++) 
        System.out.print(ch[i]); //Output of CharArray
    }
}

答案 7 :(得分:0)

如果用户以像 as... 这样的字符串形式打印输入,这将不起作用

5 8
########
#..#...#
####.#.#
#..#...#
########

在这里,如果我们使用 char c=inputs.next().charAt(0); 它将只取每个字符串中的第一个,

用起来会更好

    *Scanner s = new Scanner(System.in);
    int n = s.nextInt();
    int m = s.nextInt();
    char[][] in = new char[m+1][n+1];
    for(int i = 0;i<n;i++) {
        String st = s.next();
        for(int j = 0;j<m;j++) {
            in[i][j] = st.charAt(j);
        }
    }*