Java 中的字符串数组迭代
String array iteration in Java
在这个 java 程序中,我尝试不为我的字符串数组获取任何元素 (n),然后迭代那么多次以在我的字符串数组中插入值。但是插入不会到达结束并且不会执行最后一次迭代。例如,如果 n=3 那么它应该迭代三次(0,1,2)以进行插入,但它只做了两次。请帮忙理解enter code here
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String[] arr=new String[60];
System.out.println("Enter no of elements");
int n=sc.nextInt();
for(int i=0;i<n;i++) {
arr[i]=sc.nextLine();
}
for(int i=0;i<n;i++)
System.out.println(arr[i]);
}
}
问题与 .nextInt();
功能有关。
当您键入一个数字并按回车键时,程序会收到该数字和一个换行符 (\n)。因此,用 .nextLine()
读取的下一行是 '\n'.
作为解决方法,您可以将 .nextLine()
放在 .nextInt()
正下方
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String[] arr=new String[60];
System.out.println("Enter no of elements");
int n=sc.nextInt();
sc.nextLine(); //<-- This line
for(int i=0;i<n;i++) {
arr[i]=sc.nextLine();
}
for(int i=0;i<n;i++)
System.out.println(arr[i]);
}
所以我假设您每次都在一个新行中输入您的输入(包括元素数量的值)。您可以做的就是坚持使用 .nextLine()
,然后将其转换为 int
作为您的 n
变量,如下所示。
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] arr=new String[60];
System.out.println("Enter no of elements");
int n = Integer.parseInt(sc.nextLine());
for(int i = 0;i < n; i++) {
arr[i] = sc.nextLine();
}
for(int i = 0; i < n; i++)
System.out.println(arr[i]);
}
}
在这个 java 程序中,我尝试不为我的字符串数组获取任何元素 (n),然后迭代那么多次以在我的字符串数组中插入值。但是插入不会到达结束并且不会执行最后一次迭代。例如,如果 n=3 那么它应该迭代三次(0,1,2)以进行插入,但它只做了两次。请帮忙理解enter code here
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String[] arr=new String[60];
System.out.println("Enter no of elements");
int n=sc.nextInt();
for(int i=0;i<n;i++) {
arr[i]=sc.nextLine();
}
for(int i=0;i<n;i++)
System.out.println(arr[i]);
}
}
问题与 .nextInt();
功能有关。
当您键入一个数字并按回车键时,程序会收到该数字和一个换行符 (\n)。因此,用 .nextLine()
读取的下一行是 '\n'.
作为解决方法,您可以将 .nextLine()
放在 .nextInt()
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String[] arr=new String[60];
System.out.println("Enter no of elements");
int n=sc.nextInt();
sc.nextLine(); //<-- This line
for(int i=0;i<n;i++) {
arr[i]=sc.nextLine();
}
for(int i=0;i<n;i++)
System.out.println(arr[i]);
}
所以我假设您每次都在一个新行中输入您的输入(包括元素数量的值)。您可以做的就是坚持使用 .nextLine()
,然后将其转换为 int
作为您的 n
变量,如下所示。
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] arr=new String[60];
System.out.println("Enter no of elements");
int n = Integer.parseInt(sc.nextLine());
for(int i = 0;i < n; i++) {
arr[i] = sc.nextLine();
}
for(int i = 0; i < n; i++)
System.out.println(arr[i]);
}
}