0

所以我得到了一个程序,要求用户输入 3 个最喜欢的城市,它将它们存储在数组中,然后将它们打印给用户。我现在要做的是让程序询问用户他/她有多少喜欢的城市?用户输入一个数字,这将使用户有机会输入喜欢的城市数量,然后打印出来.

问题是我真的不知道该怎么做有人可以帮忙吗?

请在您提供帮助时解释代码,以便我理解:),抱歉我的英语不好,不是我的主要语言!

我的代码 atm 如下所示:

package com.example.array.main;

import java.util.Scanner;

public class Application {

    public static void main(String[] args) {


        String[] favoritCity = new String [3];
        Scanner scanner1 = new Scanner (System.in);

        System.out.println("skriv in 3 favoritstäder");
        String userIn1 = scanner1.nextLine();
        String userIn2 = scanner1.nextLine();
        String userIn3 = scanner1.nextLine();


        favoritCity[0] = userIn1;
        favoritCity[1] = userIn2;
        favoritCity[2] = userIn3;


        System.out.println(userIn1);
        System.out.println(userIn2);
        System.out.println(userIn3);

            }

    }
4

3 回答 3

0

那应该是您正在寻找的代码。我没有测试它,但它应该可以工作。

package com.example.array.main;

import java.util.Scanner;

 public class Application {

    public static void main(String[] args) {

        int cityNumb;

        Scanner scanner1 = new Scanner (System.in);

        System.out.println("How many favorite cities do you have?");
        cityNumb = scanner1.nextInt();

        //creat the array with the size of cityNumb
        String[] favoritCity = new String [cityNumb];

        System.out.println("skriv in "+cityNumb+" favoritstäder");

        //for loop for the input of the cities
        for(int i = 0; i < cityNumb; i++) 
        { 
            String city = scanner1.nextLine();
            favoritCity[i] = city;
        }

        //for loop for the output of the cities
        for(int i = 0; i < cityNumb; i++) 
        { 
            System.out.println(favoritCity[i]);
        }

    }

}
于 2013-09-12T06:43:36.827 回答
0

在定义阵列大小之前,您可以使用扫描仪询问城市数量,例如:

    Scanner scanner = new Scanner(System.in);
    System.out.println("How many cities?");
    int nberCities = scanner.nextInt();

    String[] favoriteCities = new String[nberCities];
    for(int i = 0; i < nberCities;i++){
      favoriteCities[i] = scanner.nextLine();
    }
于 2013-09-12T06:33:39.190 回答
0

首先从用户那里获取一个整数输入,他/她有多少个最喜欢的城市? Scanner#nextInt();这可以帮助您从控制台获取整数输入。创建一个具有该大小的数组然后编写循环,如 -

String[] favoritCity = new String [noOfFabCities];
for(int i=0;i<maxFavCities;i++){
    ...
}

现在在循环内部从用户那里获取输入输入您i+1(我从 0 开始)最喜欢的城市并捕获输入,如Scanner#nextLine();. 并将值保存到您的数组中,例如 -

favoritCity[i] = userInput;

一旦您获得所有用户输入,现在您可以在控制台中打印所有用户最喜欢的城市。

于 2013-09-12T06:37:06.900 回答