java - Taking integers as input from console and storing them in an array -


when trying write following code, computer takes several inputs. want should take 1 line input , save integers in line in array. can me please?

import java.util.*;  class inputinteger{      public static void main(string args[]){         scanner input=new scanner(system.in);         int[] array=new int[20];         int i=0;         while(input.hasnext()){           array[i]=input.nextint();           i++;         }              input.close();     }        } 

but want should take 1 line input , save integers in line in array.

first, urge not close() scanner have created around system.in. that's global, , close()ing can cause kinds of issues later (because can't reopen it). reading single line of input , splitting int values array, use scanner.nextline() , like

public static void main(string[] args) {     scanner input = new scanner(system.in);     if (input.hasnextline()) {         string line = input.nextline();         string[] arr = line.split("\\s+");         int[] vals = new int[arr.length];         (int = 0; < arr.length; i++) {             vals[i] = integer.parseint(arr[i]);         }         system.out.println(arrays.tostring(vals));     } } 

edit based on comment,

string line = "1 31 41 51"; string[] arr = line.split("\\s+"); int[] vals = new int[arr.length]; (int = 0; < arr.length; i++) {     vals[i] = integer.parseint(arr[i]); } system.out.println(arrays.tostring(vals)); 

output is

[1, 31, 41, 51] 

if need handle errors, suggest use list like

list<integer> al = new arraylist<>(); (int = 0; < arr.length; i++) {     try {         al.add(integer.parseint(arr[i]));     } catch (numberformatexception nfe) {     } } // print list system.out.println(al); // , if must have `int[]` copy like. int[] vals = new int[al.size()]; (int = 0; < al.size(); i++) {     vals[i] = al.get(i); } system.out.println(arrays.tostring(vals)); 

Comments

Popular posts from this blog

ruby on rails - RuntimeError: Circular dependency detected while autoloading constant - ActiveAdmin.register Role -

c++ - OpenMP unpredictable overhead -

javascript - Wordpress slider, not displayed 100% width -