- Java scanner array string
- Take String Array input in Java language
- Code to fill string array elements of array
- Program to fill String in array using for loop
- Program to fill String array using while loop
- Program to fill String in an array using do-while loop
- How to take array input from command line in Java ? Scanner Example
- Java Program to take array input from User
- Program to take an array as input from user in Java
- Important points
Java scanner array string
Здравствуйте! Отличное описание. Но забыли про — scan.hasNext(). Что он делает? while (scan.hasNext()) < System.out.println(scan.next()); >
Зачем вообще метод hasNextLine()? Ведь если считываешь ввод как строку (nextLine), то чтобы пользователь не ввел (буквы, цифры, значки, да хоть пробелы), это будет являться строкой. Тогда зачем проверять, будет ли ввод строкой или нет?
Если я введу в этот код,например, «aaa 10», то почему выдаёт ошибку? Scanner sc = new Scanner(System.in); System.out.println(sc.hasNextInt()); int age = sc.nextInt(); System.out.println(age);
Ребят, не совсем пронял про useDelimeter. Окей, если мы сами определяем переменную (или значение) для Scanner scan = new Scanner(); Понятно, что в этом значении мы можем сделать некое условное деление (в примере это ‘ ), по которому Delimeter будет ориентироваться. Не проще ли просто сразу задать значение «красиво»? Т.е. мы тратим время, чтобы выставить эти «флаги». Может проще просто поставить знак перевода строки? А если это просто ввод с консоли? Пользователь не будет ставить никакие «флаги» для Delimeter, если только такую задачу не ставить (но тогда получается довольно глупо). Условные три хокку, в которых строки просто разделены пробелами, как и слова. То есть у нас просто есть длиннющая строка (На голой ветке Ворон сидит одиноко. Осенний вечер.) с пробелами и иногда знаками препинания, в которой иногда попадаются слова с заглавной буквы (как бы начало новой строки). Как здесь может помочь Delimeter? Делить по пробелам? Тогда в выводе каждое слово будет с новой строки, получится околесица. Делить по заглавным буквам? Во-первых, по неопытности интересно, как это реализовать (без шуток, получается, надо делать какую-то сортировку). А во-вторых, если в тексте упоминается имя собственное (название города или имя человека), то логика ломается, нам же нужно с новой строки писать именно строки, а не все, что начинается с большой буквы. Надеюсь, понятно объяснил. Я понимаю, для чего нужен Delimeter, но не вижу его смысла его практического применения. Если кто-нибудь объяснит его смысл, буду благодарен.
Take String Array input in Java language
In this topic, we are going to learn how to take string array input in Java programming language using for, while and do-while loops.
In this blog, We have already discuss that “What is an array“, type of arrays and how to access it(one dim, two dim and three dim arrays)
Arrays are the special type of variables to store Multiple type of values(int, string,char, etc)under the same name in the continuous memory location. we can be easily accessed using the indices(indexes)
- s1,s2,s3,s4 and s5 represent the string elements of the array
- 0,1,2,3 and 4 represent the index of the array which is used to access the array elements
- 1,2,3,4 and 5 represent the length of the array
Code to fill string array elements of array
Program to fill String in array using for loop
In this program, we are briefing how to take input String elements of an array using for loop in Java language
import java.util.Scanner; public class TakeStringArrayInputfor< public static void main(String args[])< //scanner class to read input from the user Scanner sc=new Scanner(System.in); //Declaring and creating String array String[] arr=new String[4]; //Display default value after declaring System.out.println("Default values of given String array: "); for(int i=0; i//find default value of the given array System.out.println(""); //initializing value to the array System.out.println("******Initializing array******"); System.out.println("Enter "+arr.length+" string values"); for(int i=0; i//using the for loop to initializing array //displaying the array elements System.out.println("\n******displaying array elements******"); System.out.println("Entered Strings are"); for(int i=0; i > >
When the above code is executed, it produces the following result
Default values of given String array: null null null null ******Initializing array****** Enter 4 String value Ani Abi Kavi Puvi ******displaying array elements****** Entered Strings are Ani Abi Kavi Puvi
Program to fill String array using while loop
In this program, we are briefing how to input String elements of an array using while loop in Java language
import java.util.Scanner; public class TakeStringArrayInputWhile< public static void main(String args[])< //scanner class to read input from the user Scanner sc=new Scanner(System.in); //Declaring and creating String array String[] arr=new String[4]; //Display default value after declaring System.out.println("Default values of given String array: "); int i=0; while(i//find default value of the given array System.out.println(""); //initializing value to the array System.out.println("******Initializing array******"); System.out.println("Enter "+arr.length+" String values"); i=0; while(i //using the for loop to initializing array //displaying the array elements System.out.println("\n******displaying array elements******"); System.out.println("Entered array elements are"); i=0; while(i > >
When the above code is executed, it produces the following result
Default values of given String array: null null null null ******Initializing array****** Enter 4 String value Krish Muru Saman Sonu ******displaying array elements****** Entered Strings are Krish Muru Saman Sonu
Program to fill String in an array using do-while loop
In this program, we are briefing how to input String elements of an array using do-while loop in Java language
import java.util.Scanner; public class TakeStringArrayInputDoWhile< public static void main(String args[])< //scanner class to read input from the user Scanner sc=new Scanner(System.in); //Declaring and creating String array String[] arr=new String[5]; //Display default value after declaring System.out.println("Default values of given String array: "); int i=0; do< System.out.println(arr[i]+"\t"); i++; >while(iwhile(i while(i >
When the above code is executed, it produces the following result
Default values of given String array: null null null null null ******Initializing array****** Enter 5 String value Sivaji Pirapu Kamal Rajani Ajith ******displaying array elements****** Entered Strings are Sivaji Pirapu Kamal Rajani Ajith
Similar post
How to take array input from command line in Java ? Scanner Example
There is no direct way to take array input in Java using Scanner or any other utility, but it’s pretty easy to achieve the same by using standard Scanner methods and asking some questions to the user. For example, if you want to take a one-dimensional array of String as input then you can first ask the user about the length of the array and then you can use a for loop to retrieve that many elements from the user and store them in an array. You can use the next() to take a String input from the user. Similarly, if you need to take an integer array or double array, you can use the nextInt() or nextDouble() method of the Scanner class.
Some programmers may still be stuck and ask, how about taking a two-dimensional array as input? Well isn’t that pretty easy by applying some maths?
If you look, a two-dimensional array is like a matrix, You need both numbers of rows and columns to create and populate the two-dimensional array in Java. Just ask the user and then read subsequent input to store in the 2-dimensional array as row by row. Don’t worry, in this article, I’ll show you a couple of examples about how to take array input in Java using Scanner.
And, If you are new to the Java world then I also recommend you go through these free Java Programming courses to learn Java in a better and more structured way. This is one of the best and up-to-date courses to learn Java online.
Java Program to take array input from User
Here is our sample Java program to demonstrate how to take an array as input from the user. As I told you, there is no direct way but you can use a for loop to read user input and save them into the array. By using this technique you can also take a two-dimensional array as input.
Depending on which type of array you are taking as input e.g. String or int or any other array, you need to use the next() or nextInt() method to read a value from the command prompt. You can then save this value into array by assigning to respective index e.g. input[i] = sc.next() .
Program to take an array as input from user in Java
import java.util.Arrays; import java.util.Scanner; /* * Java Program to take array input from the user using Scanner. */ public class ArrayInputDemo < public static void main(String[] args) < // taking String array input from user Scanner sc = new Scanner(System.in); System.out.println("Please enter length of String array"); int length = sc.nextInt(); // create a String array to save user input String[] input = new String[length]; // loop over array to save user input System.out.println("Please enter array elements"); for (int i = 0; i < length; i++) < String userInput = sc.next(); input[i] = userInput; > System.out.println("The String array input from user is : "); System.out.println(Arrays.toString(input)); // saving user input inside a 2D array in Java System.out.println("Please enter number of rows and columns of 2D array"); int rows = sc.nextInt(); int columns = sc.nextInt(); int[][] data = new int[rows][columns]; System.out.println("Please enter array elements row by row"); for (int i = 0; i < rows; i++) < for (int j = 0; j < columns; j++) < int value = sc.nextInt(); data[i][j] = value; > > System.out.println("The 2d int array input from user is : "); System.out.println(Arrays.deepToString(data)); sc.close(); > > Now, let's see the output of this program to understand how to take array as input from command line in Java: Output Please enter length of String array 3 Please enter array elements Java C++ Ruby The String array input from user is : [Java, C++, Ruby] Please enter number of rows and columns of 2D array 2 3 Please enter array elements row by row 1 2 3 4 5 6 The 2d int array input from user is : [[1, 2, 3], [4, 5, 6]]
You can see that we have successfully taken array input from the user, both String and integer array, and both one and a two-dimensional array.
Don’t forget to close the Scanner once you have done to prevent resource leaks in Java, you can also see these Java programming courses to learn more about why you should close readers and stream once you are done using them.
Important points
1) Use next() to read String instead of nextLine() which is used to read the entire line. This is useful when you read a file line by line in Java as shown here.
2) I have used the Arrays.toString() and Arrays.deepToString() to display actual elements of the array into the console because the array in Java doesn’t override the toString() method and directly printing them will not be very meaningful as discussed here.
3) If you want to learn more about such fundamentals of Java Programming language, I strongly suggest reading the Core Java Volume 1 — Fundamentals by Cay S. Horstmann. One of the best and most readable book on core Java at the moment. It also covers Java SE 8.
Finally, here are some important points about the Scanner class which you should remember while using it in the Java program:
That’s all about how to take array input in Java using Scanner class. It’s a simple technique to save input from the user into an array and can be used to save input in both one and multi-dimensional arrays. Since Scanner allows you to read an int , String , double , float , byte, and long you can create those types of array. There is no method to read characters but you can read the character as a String to create a char array.