[英]Checking First Character of String Array
我正在嘗試創建一種方法,該方法將掃描用戶輸入的數組的第一個字符,並查看它是否是元音,但是我有幾個問題。 這是我到目前為止的代碼:
public static void main (String args[])
{
String[] input= new String [5];
Scanner scan=new Scanner(System.in);
System.out.println("Please enter your words...");
for(int j=0;j<5;j++)
{
a[j]=scan.next();
}
}
忽略5的數組大小。我如何使用戶可以添加任意數量的單詞? 我是否應該添加“完成時輸入q”和while(j!='q'); ? 我應該如何設置數組大小?
這項工作可以檢查輸入的每個數組的第一個字符:
if ((input[j].charAt(0)=='a')||(input[j].charAt(0)=='e')||(input[j].charAt(0)=='i')|| (input[j].charAt(0)=='o')||(input[j].charAt(0)=='u'))
提前致謝
ArrayList
。 startsWith()
。 簡單的答案是使用任何List
類。 例如ArrayList
或LinkedList
。
提示:
1:對於數組,請使用ArrayList,它具有動態大小。
List<String> input = new ArrayList<>();
要添加一些東西:
input.add(scan.next());
2:是的,這就足夠了。
List<Character> vowels = Arrays.asList('a','e','i','o','u');
if(vowels.contains(input[j].charAt(0))) {...}
如果您不知道先驗將輸入多少個字符串,那么解決方案是使用動態數據結構,例如列表:
List<String> input = new ArrayList<String>();
input.add(scan.next());
檢查字母是否是元音是典型的事情,可以使用實用程序功能將行為分開來解決:
boolean isVowel(char c) {
switch (Character.toLowercase(c)) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
return true;
default: return false;
}
}
boolean startsWithVowel = isVowel(input.get(0).charAt(0))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.