import java.util.Scanner;
public class Ch7AssignArrays1 {
public static void main(String[] args) {
int[] population = new int[5];// array to store populations for counties
String[] county = new String[5]; //array to store county names
Scanner input = new Scanner(System.in);
//ask user for county name and store in array
System.out.println("Please enter the name of a county: ");
county[0] = input.toString();
//ask user for population of county entered above, store in array
System.out.println("Enter the population of the county: " + input.nextLine());
population[0] = input.nextInt();
for(int index = 1; index < county.length && index < population.length; index++){
System.out.println("Please enter the name of a county: ");
county[index] = input.toString();
//ask user for population of county entered above, store in array
System.out.println("Enter the population of the county: ");
System.out.println(input.hasNext());
population[index] = input.nextInt();
}
for(int index = 0; index < county.length && index < population.length;index++){
System.out.println(county[index] + "\t" + population[index]);
}
}
}
我已编写此代码,并且在程序到达for循环时遇到问题。我希望能够请求用户输入,存储到一个数组(县),然后再次询问输入并存储到另一个数组(填充),然后在最后打印两个数组。这适用于for循环之外的input.nextLine,然后询问每个问题然后存储。但是当在循环中时,立即询问两个问题并且仅针对第二个阵列(群体)进行输入。我在for循环之外找到的解决方案在循环内部不起作用。我可以在for循环中放入什么来解决这个问题?
答案 0 :(得分:1)
我的问题是我的代码行县[0] = input.toString();应该是.next()来解决多用户输入问题。
答案 1 :(得分:0)
感谢Mallory L,这是一个很好的问题。
要完全回答这个问题需要更长的时间。
与此同时,在&#34;中开始循环使用index = 1而不是index = 0的原因(int index = 1; index&lt; county.length&amp;&amp; index&lt; population.length;索引++){&#34;
此外,示例输入和示例输出是什么? 例如,用户输入&#34;洛杉矶&#34;对于该县,结果将是12,000,000?
如果您希望用户继续添加更多的县和群体,直到用户想要停止,那么请考虑使用while循环而不是for循环。