【问题标题】:How to fill an array of characters from user input?如何从用户输入中填充字符数组?
【发布时间】:2012-12-02 10:33:57
【问题描述】:

我用谷歌搜索了很多,但一无所获! 有人可以帮我填写用户输入的字符数组吗?

【问题讨论】:

  • 您在 Google 上一无所获?拉里佩奇应该辞职吧?
  • 向我们展示您现在拥有的东西,让我们从那里开始工作;)
  • 它最基本的东西,你在google上没有找到.. ??
  • 必须使用不同的谷歌 - “java从用户输入填充字符数组”第一次命中是stackoverflow.com/questions/2622725/…
  • @Aura 不会超过10次,小于无限。

标签: java arrays char


【解决方案1】:
    class charinarray
    {
    public static void main(String args[])
    {
    Scanner input=new Scanner(System.in);
    System.out.println("Please enter char elements...");
    char[] a=input.next().toCharArray();
    System.out.println("Array char elements are : ");
    for (int i=0;i<a.length;i++)
    {
        System.out.println(a[i]);
    }
    }
    }

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

如果用户以字符串的形式打印输入,例如 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);
        }
    }*

【讨论】:

    【解决方案3】:

    您不能使用 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
        }
    }
    

    【讨论】:

      【解决方案4】:

      //更多乐趣......

      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]);
              }
          }
      }
      

      【讨论】:

      • 这正是我想要的!一直在寻找一种方法来对包含用户输入的字符的数组进行排序。 public static void main(String[] args) { char crr[]=new char[10]; Scanner inputs=new Scanner(System.in); System.out.println("Enter 10 Letters: "); for(int i=0;i&lt;10;i++) { char c=inputs.next().charAt(0); crr[i]= c; } System.out.println("The Sorted Letters are: "); for(int i=0;i&lt;10;i++) { Arrays.sort(crr); System.out.println(" " +crr[i]);
      【解决方案5】:

      从用户输入一个字符数组

      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】:

      此代码是我的线性搜索程序的一部分,我解决了我面临的问题。但我想解释为什么我在 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
      

      }

      【讨论】:

        【解决方案7】:
           /* 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]);
                        }
                }
        

        【讨论】:

          【解决方案8】:

          我用谷歌搜索了很多,但一无所获!有人可以帮我吗 请从用户输入中填充一个字符数组?

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

          选项 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

          【讨论】:

          • 问题在于字符,而不是整数。
          • @Aura,那么您应该在您的问题中提及这一点,请明确您的问题。
          • 我在标题和问题中都提到过。
          • @Aura 检查我更新的帖子。它表明,您没有尝试过任何一段代码。这些是最基本的代码,你可以很容易地找到它们。
          • 我是初学者。当你开始 Java 编程时,你对 IOexception 或 BufferedReader 有什么了解吗?
          【解决方案9】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-01-18
            • 2015-05-22
            • 2021-02-10
            • 1970-01-01
            • 2021-02-05
            • 2013-05-03
            • 1970-01-01
            相关资源
            最近更新 更多