2016-11-09 14 views
0

こんにちは、私はこのプログラムを最初の文字がユーザーが入力した文字と一致するすべての国を印刷する必要があります。ループの最初の文字を配列から取得する

私は現在、(私にはわからない、それは私がすべてでそれを実行できていないと、それはこの

 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); 
      } 

} 

}

+0

ループ内で 'if(country.startsWith(input)) 'を使用します。 – Bohemian

+0

国の代わりにs1をfor(String s1:countries){if(s1(input))System .out.println(s1); } – PyThon

答えて

0

)...助け:

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

各国を繰り返し、最初の文字が入力と等しいかどうかを確認します。 charAtは、それをinputと比較する前にStringに変換する必要のある文字を返します。

country文字列に文字がまったく含まれていないかどうかを確認することもできます。

+1

国は 'String'であり、' Array'ではなく 'country [0]'は何も意味しません。おそらくあなたは 'country.charAt(0).equals(input)'を使用したかったでしょう – JChrist

+0

そのような文字列の文字にはアクセスできません。 – azurefrog

+0

国はリストではありません –

関連する問題