【发布时间】:2020-09-09 05:02:49
【问题描述】:
我已经编写了一个代码来获取字符串输入并存储在 java 中的字符串数组中。我的问题是,当我将字符串数组的大小声明为 3 时,它必须将三个字符串放入字符串数组,但它只将两个字符串放入字符串数组并且不接受第三个字符串。谁能帮我解决这个问题?
代码
import java.util.Scanner;
public class leet14 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n;
System.out.println("enter length of string");
n=sc.nextInt();
String a[]=new String[n];
System.out.println("enter string values");
for(int i=0;i<a.length;i++){
a[i]=sc.nextLine();
}
for(int j=0;j<a.length;j++){
System.out.println(a[j]);
}
}
}
输出
enter length of string
3
enter string values
one
two
one
two
【问题讨论】:
-
@Tzvi2 我已经试过了。它显示数组越界异常
-
@Tzvi2 for循环是正确的;
for(int i=0; i < a.length; i++)循环 3 次,从 0 到 2,正确。 -
我怀疑你需要一个 sc.nextLine() 在 for 循环之前使用你之前使用扫描仪读取整数的换行符。
标签: java arrays string java.util.scanner