gpt4 book ai didi

java - Do-While 循环填充数组

转载 作者:行者123 更新时间:2023-12-01 09:12:51 25 4
gpt4 key购买 nike

我目前正在开发一个项目,要求我设置数据输入。在数据输入模式下,用户将被要求循环输入科学家数据。如果用户回答“y”,系统将提示他们输入另一位科学家。我能想到的最好方法是使用 do-while 循环来填充数组,直到用户决定结束。我遇到了问题

  1. 将名称填充到数组中,并且
  2. 程序在初始循环后不会提示输入名称。

这是我所拥有的:

public class Scientist {  
private String name;
private String field;
private String greatIdeas;

public static void main(String[] args) {
String scientists[] = new String[100];
int scientistCount = 0;
Scanner input = new Scanner(System.in);

do{
String answer;
System.out.println("Enter the name of the Scientist: ");
scientists[scientistCount]=input.nextLine();

System.out.println(scientistCount);
System.out.println("Would You like to add another Scientist?");
scientistCount++;
}

while(input.next().equalsIgnoreCase("Y"));
input.close();
}
}

最佳答案

总是更喜欢使用 nextLine() 读取输入,然后解析字符串。

使用next()只会返回空格之前的内容。 nextLine() 返回当前行后自动向下移动扫描仪。

用于解析 nextLine() 数据的有用工具是 str.split("\\s+")

public class Scientist {  
private String name;
private String field;
private String greatIdeas;

public static void main(String[] args) {
String scientists[] = new String[100];
int scientistCount = 0;
Scanner input = new Scanner(System.in);

do{
String answer;
System.out.println("Enter the name of the Scientist: ");
scientists[scientistCount]=input.nextLine();

System.out.println(scientistCount);
System.out.println("Would You like to add another Scientist?");
scientistCount++;
}

while(input.nextLine().equalsIgnoreCase("Y"));
input.close();
}
}

关于java - Do-While 循环填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40807762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com