【问题标题】:String Array dimension set considering user input考虑用户输入的字符串数组维度集
【发布时间】:2016-10-11 14:50:08
【问题描述】:

我写了一些代码。这个想法是询问用户他们希望输入多少个名称,获取输入并相应地设置字符串数组大小。 除了设置数组大小之外,我还设法完成了代码。 当我尝试这样的事情时:

import java.util.Scanner;
public class StringArray {
    public static void main(String[] args) {
        Scanner read = new Scanner(System.in);

        System.out.println("How many names do you wish to enter?");
        int numOfNames = read.nextInt();

        String [] names = new String[numOfNames];

我收到一条错误消息,提示无法将 String 转换为 int。 我尝试了我在网上找到的东西,比如尝试将 int 转换为字符串等,但没有奏效。 我的源代码在这里:

import java.util.Scanner;

public class ArrayDemoS {
    public static void main(String[] args) {
        Scanner read = new Scanner(System.in);

       System.out.println("How many names do you wish to enter?");
       int numOfNames = read.nextInt();

       String [] names = new String[6];

       System.out.println("Enter the names.");
       int items = 0;

       do {
           names[items] = read.nextLine();
       } while ( ++items <= numOfNames);

       System.out.println("You entered the following names");

       for ( int i = 0; i <= numOfNames; i++) {
          System.out.print(names[i] + " ");
       }

       System.out.println();
    }
}

假设用户将输入 5 个名称,我将大小设置为 6。 使用 ArrayList 等可能还有其他方法可以做到这一点,但我还没有了解它们。当数组由 int 类型数据形成时,我能够执行相同的任务。我也希望能够为 String 类型做到这一点。在此先感谢:)

【问题讨论】:

  • 提供您的输入样本并填写错误详情
  • 您的完整代码示例不会引发任何错误。请提供代码示例以及完整的错误消息(包括报告的行号)。

标签: java arrays loops input java.util.scanner


【解决方案1】:

这工作正常。

 public static void main(String[] args) {
    Scanner read = new Scanner(System.in);

   System.out.println("How many names do you wish to enter?");
   int numOfNames = read.nextInt();

   String [] names = new String[numOfNames];

   System.out.println("Enter the names.");
   int items = 0;
   names[items] = read.nextLine();
   while ( items < numOfNames)
   {
       names[items] = read.nextLine();
       items++;
   }

   System.out.println("You entered the following names");

   for ( int i = 0; i < numOfNames; i++) {
      System.out.print(names[i] + " ");
   }

   System.out.println();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 2018-11-20
    • 2021-11-27
    • 2020-03-07
    • 2015-05-22
    • 2016-10-19
    相关资源
    最近更新 更多