for循环从数组中获取第一个字母

时间:2016-11-09 20:17:13

标签: java arrays for-loop

嗨,所以我需要让这个程序打印所有首字母与用户输入的字母匹配的国家/地区。

我目前在使用for循环时出现问题,因为它根本不让我运行它看起来像这样

        for (String s1: countries) {
                if (countries.startsWith(input))
                System.out.println(s1); 
            }

这是我的程序直到现在的样子(我不知道,但也许有帮助......)

import java.util.*;

public class Main{

public static void main(String[] args){

    Scanner s = new Scanner(System.in);

    String input;

    //Creating the Array
    String countries[] = {"Germany", "Switzerland", "Japan", "USA", "Ghana", "Saudi Arabia", "Uganda", "Russia", "Romania", "Great Britain", "Urugai", "Etheopia", "Ecuador", "Estonia", "Egypt", "France", "Austria", "Australia", "Argentinia", "Afganistan", "Albania", "Syria", "Turkey", "India", "Iraq", "Iran", "Angola", "Congo", "South Africa", "Somalia", "Madagascar", "Mexico", "Chile", "Venezuela", "Cuba", "Vietnam", "Cambodia", "Nepal", "Pakistan", "Khazakstan", "Turkmenistan", "Peru", "Namibia", "Czech Republic"};

        //User Input
        System.out.println("When you enter the letter, you will get to know all the countries in our array starting with this letter.");
        input = s.next();

        //finding and printing the countries with the users letter as their first letter
        for (String s1: countries) {
                if (countries.startsWith(input))
                System.out.println(s1); 
            }

}

}

1 个答案:

答案 0 :(得分:0)

像这样:

for (String country: countries) {
    if (Character.toString(country.charAt(0)).equals(input)) {
        System.out.println(country);
    }
}

我们遍历每个国家,如果第一个字符等于输入。 charAt返回一个字符,我们必须将其转换为String,然后再将其与input进行比较。

您可能还想检查country字符串是否包含任何字符。