>应用程序将使用.请求一系列输入字/字符串
主要论点.
>它将确定是否输入每个输入字符串
以辅音,元音,奇数,偶数或a结尾
特殊符号.
>它也应该能够计算数量
每个字输入的字符.
到目前为止,这就是我所拥有的:
public static void main(String[] args) {
if(args.length > 0) {
String regExVowels = ".*[AEIOUaeiou]$";
// regEx Strings
char[] caMainArg = null;
String strMainArg = null;
for(String arg: args) {
// Convert each String arg to char array
caMainArg = arg.toCharArray();
// Convert each char array to String
strMainArg = new String(caMainArg);
}
System.out.print(strMainArg + " - " + strMainArg.length());
// if-else conditions
} else {
System.out.println("No arguments passed!");
}
}
它有效,但它只需要最后一个参数.例如:
Eclipse>运行配置…>参数
kate middleton sep30 jan25 `
它只会输出:
` - 1 - special character
我想要的输出是:
kate - 4 - vowel
middleton - 9 - consonant
sep30 - even number
jan25 - odd number
` - 1 - special character
我不确定如何遍历参数并打印适当的结果.
解决方法:
你太早关闭你的for循环.
你做:
for(String arg: args) {
// Convert each String arg to char array
caMainArg = arg.toCharArray();
// Convert each char array to String
strMainArg = new String(caMainArg);
}
System.out.print(strMainArg + " - " + strMainArg.length());
if(regExVowels.matches(strMainArg)) {
System.out.print(" - vowel");
} else if(regExUpperConsonants.matches(strMainArg) ||
.....
你需要这样做:
for(String arg: args) {
// Convert each String arg to char array
caMainArg = arg.toCharArray();
// Convert each char array to String
strMainArg = new String(caMainArg);
System.out.print(strMainArg + " - " + strMainArg.length());
if(regExVowels.matches(strMainArg)) {
System.out.print(" - vowel");
} else if(regExUpperConsonants.matches(strMainArg) ||
....
}
标签:java,foreach,main,for-loop,arguments
来源: https://codeday.me/bug/20190624/1279799.html