【问题标题】:how to take user input in Array using java?java - 如何使用java在Array中获取用户输入?
【发布时间】:2011-02-07 00:58:25
【问题描述】:

如何使用 Java 在 Array 中获取用户输入? 即我们不是在我们的程序中自己初始化它,而是用户将赋予它的价值.. 请指导!!

【问题讨论】:

    标签: java java.util.scanner


    【解决方案1】:

    这是一个简单的代码,它从stdin 读取字符串,将它们添加到List<String>,然后使用toArray 将其转换为String[](如果您真的需要使用数组)。

    import java.util.*;
    
    public class UserInput {
        public static void main(String[] args) {
            List<String> list = new ArrayList<String>();
            Scanner stdin = new Scanner(System.in);
    
            do {
                System.out.println("Current list is " + list);
                System.out.println("Add more? (y/n)");
                if (stdin.next().startsWith("y")) {
                    System.out.println("Enter : ");
                    list.add(stdin.next());
                } else {
                    break;
                }
            } while (true);
            stdin.close();
            System.out.println("List is " + list);
            String[] arr = list.toArray(new String[0]);
            System.out.println("Array is " + Arrays.toString(arr));
        }
    }
    

    另见:

    【讨论】:

      【解决方案2】:
      package userinput;
      
      import java.util.Scanner;
      
      public class USERINPUT {
      
          public static void main(String[] args) {
      
              Scanner input = new Scanner(System.in);
      
              //allow user  input;
              System.out.println("How many numbers do you want to enter?");
              int num = input.nextInt();
      
              int array[] = new int[num];
      
              System.out.println("Enter the " + num + " numbers now.");
      
              for (int i = 0 ; i < array.length; i++ ) {
                 array[i] = input.nextInt();
              }
      
              //you notice that now the elements have been stored in the array .. array[]
      
              System.out.println("These are the numbers you have entered.");
              printArray(array);
      
              input.close();
      
          }
      
          //this method prints the elements in an array......
          //if this case is true, then that's enough to prove to you that the user input has  //been stored in an array!!!!!!!
          public static void printArray(int arr[]){
      
              int n = arr.length;
      
              for (int i = 0; i < n; i++) {
                  System.out.print(arr[i] + " ");
              }
          }
      
      }
      

      【讨论】:

        【解决方案3】:
        import java.util.Scanner;
        
        class bigest {
            public static void main (String[] args) {
                Scanner input = new Scanner(System.in);
        
                System.out.println ("how many number you want to put in the pot?");
                int num = input.nextInt();
                int numbers[] = new int[num];
        
                for (int i = 0; i < num; i++) {
                    System.out.println ("number" + i + ":");
                    numbers[i] = input.nextInt();
                }
        
                for (int temp : numbers){
                    System.out.print (temp + "\t");
                }
        
                input.close();
            }
        }
        

        【讨论】:

          【解决方案4】:

          您可以执行以下操作:

              import java.util.Scanner;
          
              public class Test {
          
                      public static void main(String[] args) {
          
                      int arr[];
                      Scanner scan = new Scanner(System.in);
                      // If you want to take 5 numbers for user and store it in an int array
                      for(int i=0; i<5; i++) {
                          System.out.print("Enter number " + (i+1) + ": ");
                          arr[i] = scan.nextInt();    // Taking user input
                      }
          
                      // For printing those numbers
                      for(int i=0; i<5; i++) 
                          System.out.println("Number " + (i+1) + ": " + arr[i]);
                  }
              }
          

          【讨论】:

            【解决方案5】:

            这在很大程度上取决于您打算如何接受此输入,即您的程序打算如何与用户交互。

            最简单的例子是,如果您要捆绑一个可执行文件 - 在这种情况下,用户只需在命令行上提供数组元素,即可通过应用程序的 main 方法访问相应的数组。

            或者,如果您正在编写某种 web 应用程序,您可能希望通过手动解析查询参数或通过为用户提供提交到解析页面的 HTML 表单。

            如果它是一个 Swing 应用程序,您可能希望弹出一个文本框供用户输入输入。而在其他情况下,您可以从数据库/文件中读取值,这些值是用户之前存放的。

            基本上,将输入读取为数组非常容易,只要你想出一种获取输入的方法。您需要考虑您的应用程序将在其中运行的环境,以及您的用户可能希望如何与此类应用程序进行交互,然后决定一个有意义的 I/O 架构。

            【讨论】:

            • 您能否举出任何此类代码的示例,其中我们提示用户在我们的数组中输入值????
            • sadia - 在什么情况下?您说的是哪种应用程序,您希望如何呈现提示?
            • 我想制作一个程序,在其中创建一个数组,而不是自己初始化它,我希望我的用户在我的数组中输入值。但我不知道如何提示用户在 Java 中输入数组中的值。那么您能否给出任何显示任何相关代码的示例?请帮忙!
            • 只是我还是“任何例子”几乎总是在“给我代码!”的上下文中提到?
            【解决方案6】:

            **如何接受用户输入的数组

            答案:-

            import java.io.*;
            
            import java.lang.*;
            
            class Reverse1  {
            
               public static void main(String args[]) throws IOException {
            
                 int a[]=new int[25];
            
                 int num=0,i=0;
            
                 BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            
                 System.out.println("Enter the Number of element");
            
                 num=Integer.parseInt(br.readLine());
            
                 System.out.println("Enter the array");
            
                 for(i=1;i<=num;i++) {
                    a[i]=Integer.parseInt(br.readLine());
                 }
            
                 for(i=num;i>=1;i--) {
                    System.out.println(a[i]);    
                 }
            
               }
            
            }
            

            【讨论】:

              【解决方案7】:

              导入 java.util.Scanner;

              类示例{

              //检查一个字符串是否被认为是一个整数。

              public static boolean isInteger(String s){
              
                  if(s.isEmpty())return false;
              
                  for (int i = 0; i <s.length();++i){
              
                      char c = s.charAt(i);
              
                      if(!Character.isDigit(c) && c !='-')
              
                          return false;
                  }
              
                  return true;
              }
              
              //Get integer. Prints out a prompt and checks if the input is an integer, if not it will keep asking.
              
              public static int getInteger(String prompt){
                  Scanner input = new Scanner(System.in);
                  String in = "";
                  System.out.println(prompt);
                  in = input.nextLine();
                  while(!isInteger(in)){
                      System.out.println(prompt);
                      in = input.nextLine();
                  }
                  input.close();
                  return Integer.parseInt(in);
              }
              
              public static void main(String[] args){
                  int [] a = new int[6];
                  for (int i = 0; i < a.length;++i){
                      int tmp = getInteger("Enter integer for array_"+i+": ");//Force to read an int using the methods above.
                      a[i] = tmp;
                  }
              
              }
              

              }

              【讨论】:

              • 你从未听说过 Integer.parseInt("1")?
              • 不,我从未听说过这样的事情。基本上我是java新手。
              • 这是非常基本的。接受一个字符串并将其解析为一个整数。
              【解决方案8】:
              int length;
                  Scanner input = new Scanner(System.in);
                  System.out.println("How many numbers you wanna enter?");
                  length = input.nextInt();
                  System.out.println("Enter " + length + " numbers, one by one...");
                  int[] arr = new int[length];
                  for (int i = 0; i < arr.length; i++) {
                      System.out.println("Enter the number " + (i + 1) + ": ");
                      //Below is the way to collect the element from the user
                      arr[i] = input.nextInt();
              
                      // auto generate the elements
                      //arr[i] = (int)(Math.random()*100);
                  }
                  input.close();
                  System.out.println(Arrays.toString(arr));
              

              【讨论】:

                猜你喜欢
                • 2011-07-14
                • 2022-06-15
                • 2020-04-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多