在java中读取多个字符串

时间:2015-01-10 16:13:14

标签: java java.util.scanner

我必须根据n的数字n读取用户的字符串,并在n个不同的变量中存储public static void main(String[] args) { int b; String s=""; Scanner in = new Scanner(System.in); System.out.println("Enter verifying number: "); b = in.nextInt(); for (int i=0; i<=b; i++) { System.out.println("Enter a string: "); s = in.nextLine(); } 个字符串。我一直坚持如何将它们放入不同的字符串中。请帮帮我。

这是我的代码:

b = 5,

因此,如果{{1}}我必须从用户输入5个字符串并将它们存储在5个不同的字符串变量中。我能够从用户那里获取它但不能将它们分配到不同的变量中。你可以帮帮我吗? 感谢。

4 个答案:

答案 0 :(得分:6)

如果您确切知道输入的数量,那么使用数组,如果不使用ArrayList

使用数组

  String []inpupts = new String[b];
  for (int i=0; i< b; i++) {
      System.out.println("Enter a string: ");
      inputs[i] = in.nextLine();
  }

使用ArrayList

  List<String> inpupts = new ArrayList<String>();
  for (int i=0; i< b; i++) {
      System.out.println("Enter a string: ");
      inputs.add(in.nextLine());
  }

答案 1 :(得分:3)

从您的代码(&lt; = b)我假设您刚开始学习Java。因此,我编辑了您的解决方案并提出以下建议,如果可以的话?

public static void main(String[] args) {
      int b;


      Scanner in = new Scanner(System.in);

      System.out.println("Enter verifying number: ");
      b = in.nextInt();
      //necessary to do due to Enter key pressed by user
      in.nextLine();
      String s[] = new String[b];
      for (int i=0; i<b; i++) {

          System.out.println("Enter a string: ");
          s[i] = in.nextLine();

          // You can check at the same time if this is what you entered
          System.out.println("I have received this sring:  "+s[i]+"\n");
      }

答案 2 :(得分:2)

创建一个数组并将其存储在如下数组中:

String s[] = new String[b];//use b+1 if you need b+1 entries
for (int i=0; i<b; i++) {//use <=b is you need b+1 entries
      System.out.println("Enter a string: ");
      s[i] = in.nextLine();
}

然后,您可以按以下方式访问您的值:

for (int i=0; i<b; i++) //use <=b is you need b+1 entries
      System.out.println("Entered string was : " + s[i]);
}

答案 3 :(得分:0)

解决方案:

您可以使用类似这样的东西。

您可以将代码更改为:

public static void main(String[] args) {
      int b;
      String s="";

      Scanner in = new Scanner(System.in);

      System.out.println("Enter verifying number: ");
      b = in.nextInt();
      in.nextLine(); // To get a new line

      for (int i=0; i<b; i++) {

          System.out.println("Enter a string: ");
          s = in.nextLine();
      }